[ https://issues.apache.org/jira/browse/CASSANDRA-20583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17946733#comment-17946733 ]
Szymon Miezal commented on CASSANDRA-20583: ------------------------------------------- https://issues.apache.org/jira/browse/CASSANDRA-20351 is likely related, I will post the patch for it soon. > Unclear error message when AntiCompaction fails on with BTI & TrieMemtables > --------------------------------------------------------------------------- > > Key: CASSANDRA-20583 > URL: https://issues.apache.org/jira/browse/CASSANDRA-20583 > Project: Apache Cassandra > Issue Type: Bug > Reporter: Anderson > Priority: Normal > > Ran into anticompaction errors when trying to run a sub-range incremental > repair on the cluster. The suspicion is corrupt sstables but the logs don't > indicate what the actual cause is. > Cluster details: > * Cassandra 5.0.2 > * Compaction: UCS with L10 > * Format: BTI > * Memtables: TrieMemtable > Logs: > {code:java} > ERROR [CompactionExecutor:4518] 2025-04-23 08:18:16,061 > CompactionManager.java:1877 - Error anticompacting > [BtiTableReader:bti(path='/var/lib/cassandra/data/myks/table-5c2182d0ac3c11efa9ebb72b3c2a92d3/da-3gpo_05u3_4elvk2tmx4pgbcvw8c-bti-Data.db'), > > BtiTableReader:bti(path='/var/lib/cassandra/data/myks/table-5c2182d0ac3c11efa9ebb72b3c2a92d3/da-3gpg_0znd_0i7v424xd44collw1o-bti-Data.db')] > for 4a1ec5c0-2018-11f0-aa3b-9d0d76c0af21 > java.lang.IndexOutOfBoundsException: null > at java.base/java.nio.Buffer.checkIndex(Buffer.java:749) > at java.base/java.nio.DirectByteBuffer.getShort(DirectByteBuffer.java:599) > at org.apache.cassandra.io.tries.TrieNode.read12Bits(TrieNode.java:898) > at > org.apache.cassandra.io.tries.TrieNode$Sparse12.transitionDelta(TrieNode.java:617) > at org.apache.cassandra.io.tries.TrieNode.transition(TrieNode.java:129) > at org.apache.cassandra.io.tries.Walker.transition(Walker.java:131) > at > org.apache.cassandra.io.tries.ValueIterator.advanceNode(ValueIterator.java:233) > at > org.apache.cassandra.io.tries.ValueIterator.nextPayloadedNode(ValueIterator.java:200) > at > org.apache.cassandra.io.sstable.format.bti.PartitionIndex$IndexPosIterator.nextIndexPos(PartitionIndex.java:418) > at > org.apache.cassandra.io.sstable.format.bti.PartitionIterator.readNext(PartitionIterator.java:200) > at > org.apache.cassandra.io.sstable.format.bti.PartitionIterator.advance(PartitionIterator.java:184) > at > org.apache.cassandra.io.sstable.format.bti.BtiTableScanner$BtiScanningIterator.prepareToIterateRow(BtiTableScanner.java:104) > at > org.apache.cassandra.io.sstable.format.SSTableScanner$BaseKeyScanningIterator.computeNext(SSTableScanner.java:264) > at > org.apache.cassandra.io.sstable.format.SSTableScanner$BaseKeyScanningIterator.computeNext(SSTableScanner.java:244) > at > org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) > at > org.apache.cassandra.io.sstable.format.SSTableScanner.hasNext(SSTableScanner.java:206) > at > org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:375) > at > org.apache.cassandra.utils.MergeIterator$ManyToOne.advance(MergeIterator.java:187) > at > org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:156) > at > org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) > at > org.apache.cassandra.db.partitions.UnfilteredPartitionIterators$2.hasNext(UnfilteredPartitionIterators.java:201) > at > org.apache.cassandra.db.transform.BasePartitions.hasNext(BasePartitions.java:90) > at > org.apache.cassandra.db.compaction.CompactionIterator.hasNext(CompactionIterator.java:304) > at > org.apache.cassandra.db.compaction.CompactionManager.antiCompactGroup(CompactionManager.java:1807) > at > org.apache.cassandra.db.compaction.CompactionManager.doAntiCompaction(CompactionManager.java:1711) > at > org.apache.cassandra.db.compaction.CompactionManager.performAnticompaction(CompactionManager.java:920) > at > org.apache.cassandra.db.compaction.CompactionManager$8.runMayThrow(CompactionManager.java:826) > at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:26) > at org.apache.cassandra.concurrent.FutureTask$3.call(FutureTask.java:141) > at org.apache.cassandra.concurrent.FutureTask.call(FutureTask.java:61) > at org.apache.cassandra.concurrent.FutureTask.run(FutureTask.java:71) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) > at > io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) > at java.base/java.lang.Thread.run(Thread.java:840) > ERROR [CompactionExecutor:4518] 2025-04-23 08:18:16,061 > JVMStabilityInspector.java:70 - Exception in thread > Thread[CompactionExecutor:4518,5,CompactionExecutor] > java.lang.IndexOutOfBoundsException: null > at java.base/java.nio.Buffer.checkIndex(Buffer.java:749) > at java.base/java.nio.DirectByteBuffer.getShort(DirectByteBuffer.java:599) > at org.apache.cassandra.io.tries.TrieNode.read12Bits(TrieNode.java:898) > at > org.apache.cassandra.io.tries.TrieNode$Sparse12.transitionDelta(TrieNode.java:617) > at org.apache.cassandra.io.tries.TrieNode.transition(TrieNode.java:129) > at org.apache.cassandra.io.tries.Walker.transition(Walker.java:131) > at > org.apache.cassandra.io.tries.ValueIterator.advanceNode(ValueIterator.java:233) > at > org.apache.cassandra.io.tries.ValueIterator.nextPayloadedNode(ValueIterator.java:200) > at > org.apache.cassandra.io.sstable.format.bti.PartitionIndex$IndexPosIterator.nextIndexPos(PartitionIndex.java:418) > at > org.apache.cassandra.io.sstable.format.bti.PartitionIterator.readNext(PartitionIterator.java:200) > at > org.apache.cassandra.io.sstable.format.bti.PartitionIterator.advance(PartitionIterator.java:184) > at > org.apache.cassandra.io.sstable.format.bti.BtiTableScanner$BtiScanningIterator.prepareToIterateRow(BtiTableScanner.java:104) > at > org.apache.cassandra.io.sstable.format.SSTableScanner$BaseKeyScanningIterator.computeNext(SSTableScanner.java:264) > at > org.apache.cassandra.io.sstable.format.SSTableScanner$BaseKeyScanningIterator.computeNext(SSTableScanner.java:244) > at > org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) > at > org.apache.cassandra.io.sstable.format.SSTableScanner.hasNext(SSTableScanner.java:206) > at > org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:375) > at > org.apache.cassandra.utils.MergeIterator$ManyToOne.advance(MergeIterator.java:187) > at > org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:156) > at > org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) > at > org.apache.cassandra.db.partitions.UnfilteredPartitionIterators$2.hasNext(UnfilteredPartitionIterators.java:201) > at > org.apache.cassandra.db.transform.BasePartitions.hasNext(BasePartitions.java:90) > at > org.apache.cassandra.db.compaction.CompactionIterator.hasNext(CompactionIterator.java:304) > at > org.apache.cassandra.db.compaction.CompactionManager.antiCompactGroup(CompactionManager.java:1807) > at > org.apache.cassandra.db.compaction.CompactionManager.doAntiCompaction(CompactionManager.java:1711) > at > org.apache.cassandra.db.compaction.CompactionManager.performAnticompaction(CompactionManager.java:920) > at > org.apache.cassandra.db.compaction.CompactionManager$8.runMayThrow(CompactionManager.java:826) > at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:26) > at org.apache.cassandra.concurrent.FutureTask$3.call(FutureTask.java:141) > at org.apache.cassandra.concurrent.FutureTask.call(FutureTask.java:61) > at org.apache.cassandra.concurrent.FutureTask.run(FutureTask.java:71) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) > at > io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) > at java.base/java.lang.Thread.run(Thread.java:840) > DEBUG [CompactionExecutor:4518] 2025-04-23 08:18:16,061 HeapUtils.java:133 - > Heap dump creation on uncaught exceptions is disabled. > ERROR [CompactionExecutor:4518] 2025-04-23 08:18:16,061 > LocalSessions.java:888 - Prepare phase for incremental repair session > 4a1ec5c0-2018-11f0-aa3b-9d0d76c0af21 failed > java.lang.IndexOutOfBoundsException: null > at java.base/java.nio.Buffer.checkIndex(Buffer.java:749) > at java.base/java.nio.DirectByteBuffer.getShort(DirectByteBuffer.java:599) > at org.apache.cassandra.io.tries.TrieNode.read12Bits(TrieNode.java:898) > at > org.apache.cassandra.io.tries.TrieNode$Sparse12.transitionDelta(TrieNode.java:617) > at org.apache.cassandra.io.tries.TrieNode.transition(TrieNode.java:129) > at org.apache.cassandra.io.tries.Walker.transition(Walker.java:131) > at > org.apache.cassandra.io.tries.ValueIterator.advanceNode(ValueIterator.java:233) > at > org.apache.cassandra.io.tries.ValueIterator.nextPayloadedNode(ValueIterator.java:200) > at > org.apache.cassandra.io.sstable.format.bti.PartitionIndex$IndexPosIterator.nextIndexPos(PartitionIndex.java:418) > at > org.apache.cassandra.io.sstable.format.bti.PartitionIterator.readNext(PartitionIterator.java:200) > at > org.apache.cassandra.io.sstable.format.bti.PartitionIterator.advance(PartitionIterator.java:184) > at > org.apache.cassandra.io.sstable.format.bti.BtiTableScanner$BtiScanningIterator.prepareToIterateRow(BtiTableScanner.java:104) > at > org.apache.cassandra.io.sstable.format.SSTableScanner$BaseKeyScanningIterator.computeNext(SSTableScanner.java:264) > at > org.apache.cassandra.io.sstable.format.SSTableScanner$BaseKeyScanningIterator.computeNext(SSTableScanner.java:244) > at > org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) > at > org.apache.cassandra.io.sstable.format.SSTableScanner.hasNext(SSTableScanner.java:206) > at > org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:375) > at > org.apache.cassandra.utils.MergeIterator$ManyToOne.advance(MergeIterator.java:187) > at > org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:156) > at > org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) > at > org.apache.cassandra.db.partitions.UnfilteredPartitionIterators$2.hasNext(UnfilteredPartitionIterators.java:201) > at > org.apache.cassandra.db.transform.BasePartitions.hasNext(BasePartitions.java:90) > at > org.apache.cassandra.db.compaction.CompactionIterator.hasNext(CompactionIterator.java:304) > at > org.apache.cassandra.db.compaction.CompactionManager.antiCompactGroup(CompactionManager.java:1807) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org