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] [Updated] (CASSANDRA-13051) SSTable Corruption - Partition Key fails assertion
Date Fri, 16 Dec 2016 13:23:00 GMT

     [ 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)

Mime
View raw message