[
https://issues.apache.org/jira/browse/CASSANDRA-20583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18060364#comment-18060364
]
Jeremy Hanna edited comment on CASSANDRA-20583 at 2/23/26 3:05 PM:
-------------------------------------------------------------------
Just to follow up on this, it looks like what [~szymon.miezal] and [~blambov]
were talking about (CASSANDRA-20351) has been added to the 5.0.5 release.
[~andersonr] have you been able to reproduce this on a more recent version of
5.0?
was (Author: jeromatron):
Just to follow up on this, [~blambov] did that port make it in, the one you
mentioned about memory-mapped index over a partition index file larger that 2
GB?
[~andersonr] have you been able to reproduce this on a more recent version of
5.0?
> 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: [email protected]
For additional commands, e-mail: [email protected]