[ 
https://issues.apache.org/jira/browse/CASSANDRA-13051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Malte Pickhan updated CASSANDRA-13051:
--------------------------------------
    Description: 
When running a repair the following exception is triggered:

{code}
java.lang.AssertionError: null  
at 
org.apache.cassandra.db.marshal.TimeUUIDType.compareCustom(TimeUUIDType.java:65)
 ~[apache-cassandra-3.7.jar:3.7]  
at org.apache.cassandra.db.marshal.AbstractType.compare(AbstractType.java:157) 
~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.dht.LocalPartitioner$LocalToken.compareTo(LocalPartitioner.java:139)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.dht.LocalPartitioner$LocalToken.compareTo(LocalPartitioner.java:120)
 ~[apache-cassandra-3.7.jar:3.7]  
at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) 
~[apache-cassandra-3.7.jar:3.7]  
at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:39) 
~[apache-cassandra-3.7.jar:3.7]  
at 
java.util.concurrent.ConcurrentSkipListMap.cpr(ConcurrentSkipListMap.java:655) 
~[na:1.8.0_91]  
at 
java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:794)
 ~[na:1.8.0_91]  
at 
java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1546) 
~[na:1.8.0_91]  
at org.apache.cassandra.db.Memtable.getPartition(Memtable.java:355) 
~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.compaction.CompactionController.maxPurgeableTimestamp(CompactionController.java:221)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.compaction.CompactionIterator$Purger.getMaxPurgeableTimestamp(CompactionIterator.java:304)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.partitions.PurgeFunction.lambda$new$0(PurgeFunction.java:38)
 ~[apache-cassandra-3.7.jar:3.7]  
at org.apache.cassandra.db.DeletionPurger.shouldPurge(DeletionPurger.java:33) 
~[apache-cassandra-3.7.jar:3.7]  
at org.apache.cassandra.db.rows.BTreeRow.purge(BTreeRow.java:386) 
~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.partitions.PurgeFunction.applyToRow(PurgeFunction.java:88)
 ~[apache-cassandra-3.7.jar:3.7]  
at org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:120) 
~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:38)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.partitions.PurgeFunction.applyToPartition(PurgeFunction.java:64)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.partitions.PurgeFunction.applyToPartition(PurgeFunction.java:24)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.transform.BasePartitions.hasNext(BasePartitions.java:76)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.compaction.CompactionIterator.hasNext(CompactionIterator.java:226)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:182)
 ~[apache-cassandra-3.7.jar:3.7]  
at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:82)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:60)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionCandidate.run(CompactionManager.java:264)
 ~[apache-cassandra-3.7.jar:3.7]  
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
~[na:1.8.0_91]  
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_91]  
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
~[na:1.8.0_91]  
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[na:1.8.0_91]  
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]  
{code}

One thing which would be nice is, to provide an actual message in the assertion 
in order to avoid this "null" string.  Furthermore it would be great to provide 
the data which caused the assertion to fail.

Actually I have no clue, how we triggered this, but I will see if I can find 
out something...

The only similiar Issue I found in the tracker was CASSANDRA-11074.

  was:
When running a repair the following exception is triggered:

{code}
java.lang.AssertionError: null  
at 
org.apache.cassandra.db.marshal.TimeUUIDType.compareCustom(TimeUUIDType.java:65)
 ~[apache-cassandra-3.7.jar:3.7]  
at org.apache.cassandra.db.marshal.AbstractType.compare(AbstractType.java:157) 
~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.dht.LocalPartitioner$LocalToken.compareTo(LocalPartitioner.java:139)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.dht.LocalPartitioner$LocalToken.compareTo(LocalPartitioner.java:120)
 ~[apache-cassandra-3.7.jar:3.7]  
at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) 
~[apache-cassandra-3.7.jar:3.7]  
at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:39) 
~[apache-cassandra-3.7.jar:3.7]  
at 
java.util.concurrent.ConcurrentSkipListMap.cpr(ConcurrentSkipListMap.java:655) 
~[na:1.8.0_91]  
at 
java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:794)
 ~[na:1.8.0_91]  
at 
java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1546) 
~[na:1.8.0_91]  
at org.apache.cassandra.db.Memtable.getPartition(Memtable.java:355) 
~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.compaction.CompactionController.maxPurgeableTimestamp(CompactionController.java:221)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.compaction.CompactionIterator$Purger.getMaxPurgeableTimestamp(CompactionIterator.java:304)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.partitions.PurgeFunction.lambda$new$0(PurgeFunction.java:38)
 ~[apache-cassandra-3.7.jar:3.7]  
at org.apache.cassandra.db.DeletionPurger.shouldPurge(DeletionPurger.java:33) 
~[apache-cassandra-3.7.jar:3.7]  
at org.apache.cassandra.db.rows.BTreeRow.purge(BTreeRow.java:386) 
~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.partitions.PurgeFunction.applyToRow(PurgeFunction.java:88)
 ~[apache-cassandra-3.7.jar:3.7]  
at org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:120) 
~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:38)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.partitions.PurgeFunction.applyToPartition(PurgeFunction.java:64)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.partitions.PurgeFunction.applyToPartition(PurgeFunction.java:24)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.transform.BasePartitions.hasNext(BasePartitions.java:76)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.compaction.CompactionIterator.hasNext(CompactionIterator.java:226)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:182)
 ~[apache-cassandra-3.7.jar:3.7]  
at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:82)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:60)
 ~[apache-cassandra-3.7.jar:3.7]  
at 
org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionCandidate.run(CompactionManager.java:264)
 ~[apache-cassandra-3.7.jar:3.7]  
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
~[na:1.8.0_91]  
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_91]  
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
~[na:1.8.0_91]  
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[na:1.8.0_91]  
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]  
{code}

One thing which would be nice is, to provide an actual message in the assertion 
in order to avoid this "null" string.  Furthermore it would be great to provide 
the data which caused the assertion to fail.

Actually I have no clue, how we triggered this, but I will see if I can find 
out something...


> SSTable Corruption - Partition Key fails assertion
> --------------------------------------------------
>
>                 Key: CASSANDRA-13051
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13051
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: Cassandra 3.7
> Single DC
> 5 Nodes
> RF 3
> NetworkTopologyStrategy
> OS: Ubuntu
>            Reporter: Malte Pickhan
>
> When running a repair the following exception is triggered:
> {code}
> java.lang.AssertionError: null  
> at 
> org.apache.cassandra.db.marshal.TimeUUIDType.compareCustom(TimeUUIDType.java:65)
>  ~[apache-cassandra-3.7.jar:3.7]  
> at 
> org.apache.cassandra.db.marshal.AbstractType.compare(AbstractType.java:157) 
> ~[apache-cassandra-3.7.jar:3.7]  
> at 
> org.apache.cassandra.dht.LocalPartitioner$LocalToken.compareTo(LocalPartitioner.java:139)
>  ~[apache-cassandra-3.7.jar:3.7]  
> at 
> org.apache.cassandra.dht.LocalPartitioner$LocalToken.compareTo(LocalPartitioner.java:120)
>  ~[apache-cassandra-3.7.jar:3.7]  
> at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:85) 
> ~[apache-cassandra-3.7.jar:3.7]  
> at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:39) 
> ~[apache-cassandra-3.7.jar:3.7]  
> at 
> java.util.concurrent.ConcurrentSkipListMap.cpr(ConcurrentSkipListMap.java:655)
>  ~[na:1.8.0_91]  
> at 
> java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:794)
>  ~[na:1.8.0_91]  
> at 
> java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1546)
>  ~[na:1.8.0_91]  
> at org.apache.cassandra.db.Memtable.getPartition(Memtable.java:355) 
> ~[apache-cassandra-3.7.jar:3.7]  
> at 
> org.apache.cassandra.db.compaction.CompactionController.maxPurgeableTimestamp(CompactionController.java:221)
>  ~[apache-cassandra-3.7.jar:3.7]  
> at 
> org.apache.cassandra.db.compaction.CompactionIterator$Purger.getMaxPurgeableTimestamp(CompactionIterator.java:304)
>  ~[apache-cassandra-3.7.jar:3.7]  
> at 
> org.apache.cassandra.db.partitions.PurgeFunction.lambda$new$0(PurgeFunction.java:38)
>  ~[apache-cassandra-3.7.jar:3.7]  
> at org.apache.cassandra.db.DeletionPurger.shouldPurge(DeletionPurger.java:33) 
> ~[apache-cassandra-3.7.jar:3.7]  
> at org.apache.cassandra.db.rows.BTreeRow.purge(BTreeRow.java:386) 
> ~[apache-cassandra-3.7.jar:3.7]  
> at 
> org.apache.cassandra.db.partitions.PurgeFunction.applyToRow(PurgeFunction.java:88)
>  ~[apache-cassandra-3.7.jar:3.7]  
> at org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:120) 
> ~[apache-cassandra-3.7.jar:3.7]  
> at 
> org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:38)
>  ~[apache-cassandra-3.7.jar:3.7]  
> at 
> org.apache.cassandra.db.partitions.PurgeFunction.applyToPartition(PurgeFunction.java:64)
>  ~[apache-cassandra-3.7.jar:3.7]  
> at 
> org.apache.cassandra.db.partitions.PurgeFunction.applyToPartition(PurgeFunction.java:24)
>  ~[apache-cassandra-3.7.jar:3.7]  
> at 
> org.apache.cassandra.db.transform.BasePartitions.hasNext(BasePartitions.java:76)
>  ~[apache-cassandra-3.7.jar:3.7]  
> at 
> org.apache.cassandra.db.compaction.CompactionIterator.hasNext(CompactionIterator.java:226)
>  ~[apache-cassandra-3.7.jar:3.7]  
> at 
> org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:182)
>  ~[apache-cassandra-3.7.jar:3.7]  
> at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[apache-cassandra-3.7.jar:3.7]  
> at 
> org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:82)
>  ~[apache-cassandra-3.7.jar:3.7]  
> at 
> org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:60)
>  ~[apache-cassandra-3.7.jar:3.7]  
> at 
> org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionCandidate.run(CompactionManager.java:264)
>  ~[apache-cassandra-3.7.jar:3.7]  
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_91]  
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_91]  
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_91]  
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_91]  
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]  
> {code}
> One thing which would be nice is, to provide an actual message in the 
> assertion in order to avoid this "null" string.  Furthermore it would be 
> great to provide the data which caused the assertion to fail.
> Actually I have no clue, how we triggered this, but I will see if I can find 
> out something...
> The only similiar Issue I found in the tracker was CASSANDRA-11074.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to