cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Malte Pickhan (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CASSANDRA-13051) SSTable Corruption - Partition Key fails assertion
Date Fri, 16 Dec 2016 13:21:58 GMT
Malte Pickhan created CASSANDRA-13051:
-----------------------------------------

             Summary: 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...



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

Mime
View raw message