[
https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12998848#comment-12998848
]
Sylvain Lebresne commented on CASSANDRA-2104:
---------------------------------------------
I have a hard time reproducing (using your script). Do you use TimeUUIDType for
the column or the super column names ? (I've tried both though).
I'll continue trying. However, if you happen to have some SSTables that
directly triggers it and that is smaller that the ones you added above, that
would be awesome (I'm struggling making enough room on my laptop for the ones
you attached above :)).
Anyway, thanks for taking time on this, I'll continue to try.
> IndexOutOfBoundsException during lazy row compaction (using TimeUUID
> comparator)
> --------------------------------------------------------------------------------
>
> Key: CASSANDRA-2104
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2104
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.7.0
> Reporter: Daniel Lundin
> Assignee: Sylvain Lebresne
> Fix For: 0.7.3
>
>
> I ran into an exception when lazily compacting wide rows of TimeUUID columns.
> It seems to trigger when a row is larger than
> {{in_memory_compaction_limit_in_mb}}.
> Traceback:
> {noformat}
> INFO [CompactionExecutor:1] 2011-02-03 10:59:59,262 CompactionIterator.java
> (line 135) Compacting large row XXXXXXXXXXXXX (76999384 bytes) incrementally
> ERROR [CompactionExecutor:1] 2011-02-03 10:59:59,266
> AbstractCassandraDaemon.java (line 114) Fatal exception in thread T
> hread[CompactionExecutor:1,1,main]
> java.lang.IndexOutOfBoundsException
> at java.nio.Buffer.checkIndex(Buffer.java:514)
> at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:121)
> at
> org.apache.cassandra.db.marshal.TimeUUIDType.compareTimestampBytes(TimeUUIDType.java:56)
> at
> org.apache.cassandra.db.marshal.TimeUUIDType.compare(TimeUUIDType.java:45)
> at
> org.apache.cassandra.db.marshal.TimeUUIDType.compare(TimeUUIDType.java:29)
> at
> java.util.concurrent.ConcurrentSkipListMap$ComparableUsingComparator.compareTo(ConcurrentSkipListMap.java:606
> )
> at
> java.util.concurrent.ConcurrentSkipListMap.findPredecessor(ConcurrentSkipListMap.java:685)
> at
> java.util.concurrent.ConcurrentSkipListMap.doPut(ConcurrentSkipListMap.java:864)
> at
> java.util.concurrent.ConcurrentSkipListMap.putIfAbsent(ConcurrentSkipListMap.java:1893)
> at
> org.apache.cassandra.db.SuperColumn.addColumn(SuperColumn.java:170)
> at
> org.apache.cassandra.db.SuperColumn.putColumn(SuperColumn.java:195)
> at
> org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:221)
> at
> org.apache.cassandra.io.LazilyCompactedRow$LazyColumnIterator.reduce(LazilyCompactedRow.java:204)
> at
> org.apache.cassandra.io.LazilyCompactedRow$LazyColumnIterator.reduce(LazilyCompactedRow.java:185)
> at
> org.apache.cassandra.utils.ReducingIterator.computeNext(ReducingIterator.java:62)
> at
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:136)
> at
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:131)
> at
> com.google.common.collect.Iterators$7.computeNext(Iterators.java:604)
> at
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:136)
> at
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:131)
> at
> org.apache.cassandra.db.ColumnIndexer.serializeInternal(ColumnIndexer.java:76)
> at
> org.apache.cassandra.db.ColumnIndexer.serialize(ColumnIndexer.java:50)
> at
> org.apache.cassandra.io.LazilyCompactedRow.<init>(LazilyCompactedRow.java:88)
> at
> org.apache.cassandra.io.CompactionIterator.getCompactedRow(CompactionIterator.java:137)
> at
> org.apache.cassandra.io.CompactionIterator.getReduced(CompactionIterator.java:108)
> at
> org.apache.cassandra.io.CompactionIterator.getReduced(CompactionIterator.java:43)
> at
> org.apache.cassandra.utils.ReducingIterator.computeNext(ReducingIterator.java:73)
> at
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:136)
> at
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:131)
> at
> org.apache.commons.collections.iterators.FilterIterator.setNextObject(FilterIterator.java:183)
> at
> org.apache.commons.collections.iterators.FilterIterator.hasNext(FilterIterator.java:94)
> at
> org.apache.cassandra.db.CompactionManager.doCompaction(CompactionManager.java:426)
> at
> org.apache.cassandra.db.CompactionManager$1.call(CompactionManager.java:122)
> at
> org.apache.cassandra.db.CompactionManager$1.call(CompactionManager.java:92)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:662)
> {noformat}
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira