You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Daniel Lundin (JIRA)" <ji...@apache.org> on 2011/02/03 11:09:29 UTC

[jira] Created: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

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, 0.7.1
            Reporter: Daniel Lundin


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

        

[jira] Commented: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Jonas Borgström (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12998808#comment-12998808 ] 

Jonas Borgström commented on CASSANDRA-2104:
--------------------------------------------

I've done some more testing now and I'm ONLY able to reproduce this when using both super columns and the TimeUUIDType column comparator.

After looking at the code TimeUUIDType seems to be the only marshaller that would actually notice (throw an exception) if its compare() method was called with a partial value (1-15 bytes in the case of UUIDs).

So to me it looks like the incremental compactor sometimes sends corrupted/partial data to the marshaller, at least for super column families. This corrupted/partial data is silently ignored unless the TimeUUIDType marshaller is used.

> 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

       

[jira] Commented: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Daniel Lundin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12998386#comment-12998386 ] 

Daniel Lundin commented on CASSANDRA-2104:
------------------------------------------

Nope, never managed to trigger it again.
Closing this issue for now.

> 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, 0.7.1
>            Reporter: Daniel Lundin
>
> 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

        

[jira] Assigned: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis reassigned CASSANDRA-2104:
-----------------------------------------

    Assignee: Sylvain Lebresne

> 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

        

[jira] Updated: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-2104:
--------------------------------------

    Affects Version/s:     (was: 0.7.1)
        Fix Version/s: 0.7.3

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

        

[jira] Commented: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Sylvain Lebresne (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12998925#comment-12998925 ] 

Sylvain Lebresne commented on CASSANDRA-2104:
---------------------------------------------

Thanks a lot Jonas, those new sstables were most useful.

Turns out the problem was that we were using the wrong comparator when deserializing, so we were comparing the column using TimeUUIDType (instead of UTF8Type).

Sadly, it could be that we were generating wrongly sorted on-disk superColumns. However any compaction with the attached patch should fix that anyway.

> 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
>
>         Attachments: 0001-Use-the-right-comparator-when-deserializing-superCol.patch
>
>
> 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

        

[jira] Commented: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Jonas Borgström (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12998430#comment-12998430 ] 

Jonas Borgström commented on CASSANDRA-2104:
--------------------------------------------

Jonathan, yes that seems to be the case. For me key 3139 (19) seems to be the one triggering this. So increasing in_memory_compaction_limit enough to cover that key seems to do the trick. Even if some other keys are compacted incrementally.

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

       

[jira] Commented: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Jonas Borgström (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12998395#comment-12998395 ] 

Jonas Borgström commented on CASSANDRA-2104:
--------------------------------------------

Hi Jonathan,

I now have a python script that seems to be able to reproduce this after a few runs (it does not seem to always happen)

http://jonas.borgstrom.se/cassandra/CASSANDRA-2104.txt

I've tested this on an empty single node 0.7.2 cluster and default cassandra.yaml, except for in_memory_compaction_limit_in_mb=32 hoping that would make it easier to reproduce.

A complete copy of the data directory (and config) after running the script a couple of times can be downloaded here:
http://jonas.borgstrom.se/cassandra/CASSANDRA-2104.tar.gz

And a copy of system.log from booting cassandra using this data directory:
http://jonas.borgstrom.se/cassandra/CASSANDRA-2104-system.log

Let me know if you need any more details.

> 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, 0.7.1
>            Reporter: Daniel Lundin
>
> 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

       

[jira] Commented: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction of supercolumns

Posted by "Mike Nadeau (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13004902#comment-13004902 ] 

Mike Nadeau commented on CASSANDRA-2104:
----------------------------------------

Hi,

I'm also getting an IndexOutOfBounds exception when compacting.

Here's the detailed error I get on screen when running "nodetool -h 10.3.133.10 compact":

Error occured while compacting keyspace test
java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException
    at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
    at java.util.concurrent.FutureTask.get(Unknown Source)
    at org.apache.cassandra.db.CompactionManager.performMajor(CompactionManager.java:186)
    at org.apache.cassandra.db.ColumnFamilyStore.forceMajorCompaction(ColumnFamilyStore.java:1678)
    at org.apache.cassandra.service.StorageService.forceTableCompaction(StorageService.java:1248)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(Unknown Source)
    at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(Unknown Source)
    at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(Unknown Source)
    at com.sun.jmx.mbeanserver.PerInterface.invoke(Unknown Source)
    at com.sun.jmx.mbeanserver.MBeanSupport.invoke(Unknown Source)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown Source)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
    at javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown Source)
    at javax.management.remote.rmi.RMIConnectionImpl.access$200(Unknown Source)
    at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown Source)
    at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown Source)
    at javax.management.remote.rmi.RMIConnectionImpl.invoke(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
    at sun.rmi.transport.Transport$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IndexOutOfBoundsException
    at java.nio.Buffer.checkIndex(Unknown Source)
    at java.nio.HeapByteBuffer.getInt(Unknown Source)
    at org.apache.cassandra.db.DeletedColumn.getLocalDeletionTime(DeletedColumn.java:57)
    at org.apache.cassandra.db.ColumnFamilyStore.removeDeletedStandard(ColumnFamilyStore.java:822)
    at org.apache.cassandra.db.ColumnFamilyStore.removeDeletedColumnsOnly(ColumnFamilyStore.java:809)
    at org.apache.cassandra.db.ColumnFamilyStore.removeDeleted(ColumnFamilyStore.java:800)
    at org.apache.cassandra.io.PrecompactedRow.<init>(PrecompactedRow.java:94)
    at org.apache.cassandra.io.CompactionIterator.getCompactedRow(CompactionIterator.java:139)
    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:427)
    at org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:217)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    ... 3 more

And here's the error I'm getting in my log file:

ERROR [CompactionExecutor:1] 2011-03-09 19:16:52,299 AbstractCassandraDaemon.java (line 114) Fatal exception in thread Thread[CompactionExecutor:1,1,main]
java.lang.IndexOutOfBoundsException
    at java.nio.Buffer.checkIndex(Unknown Source)
    at java.nio.HeapByteBuffer.getInt(Unknown Source)
    at org.apache.cassandra.db.DeletedColumn.getLocalDeletionTime(DeletedColumn.java:57)
    at org.apache.cassandra.db.ColumnFamilyStore.removeDeletedStandard(ColumnFamilyStore.java:822)
    at org.apache.cassandra.db.ColumnFamilyStore.removeDeletedColumnsOnly(ColumnFamilyStore.java:809)
    at org.apache.cassandra.db.ColumnFamilyStore.removeDeleted(ColumnFamilyStore.java:800)
    at org.apache.cassandra.io.PrecompactedRow.<init>(PrecompactedRow.java:94)
    at org.apache.cassandra.io.CompactionIterator.getCompactedRow(CompactionIterator.java:139)
    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:427)
    at org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:217)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

I run Cassandra 0.7.2. We have 8 machines in the cluster, the error happens only on one machine. I'm not sure it's the same issue than this ticket but it's the only reference I found about compacting and IndexOutOfBounds. We're not inserting any SuperColumn in that database.

Thanks for the help.

> IndexOutOfBoundsException during lazy row compaction of supercolumns
> --------------------------------------------------------------------
>
>                 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
>
>         Attachments: 0001-Use-the-right-comparator-when-deserializing-superCol.patch, Unit-test.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> 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

[jira] Commented: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12995124#comment-12995124 ] 

Jonathan Ellis commented on CASSANDRA-2104:
-------------------------------------------

Any luck reproducing?

> 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, 0.7.1
>            Reporter: Daniel Lundin
>
> 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

        

[jira] Commented: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction of supercolumns

Posted by "Mike Nadeau (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13004918#comment-13004918 ] 

Mike Nadeau commented on CASSANDRA-2104:
----------------------------------------

We upgraded to 0.7.3 and we still have the same error, so I guess it's a different problem :(

> IndexOutOfBoundsException during lazy row compaction of supercolumns
> --------------------------------------------------------------------
>
>                 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
>
>         Attachments: 0001-Use-the-right-comparator-when-deserializing-superCol.patch, Unit-test.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> 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

[jira] Commented: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Daniel Lundin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12990528#comment-12990528 ] 

Daniel Lundin commented on CASSANDRA-2104:
------------------------------------------

Unfortunately, I'm not at liberty to share that data, sorry. But I'm working on seeing if I can reproduce it with non-sensitive data...

These are timeuuid cols, wide rows (100k or so cols, with a few multi-mb columns but mostly <1k sizes). No validators.

The instance in question had small memtable thresholds (32MB), a pretty low heap (6GB) but nothing out of the ordinary.

> 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, 0.7.1
>            Reporter: Daniel Lundin
>
> 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

        

[jira] Commented: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12999401#comment-12999401 ] 

Hudson commented on CASSANDRA-2104:
-----------------------------------

Integrated in Cassandra-0.7 #321 (See [https://hudson.apache.org/hudson/job/Cassandra-0.7/321/])
    

> 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
>
>         Attachments: 0001-Use-the-right-comparator-when-deserializing-superCol.patch, Unit-test.patch
>
>
> 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

        

[jira] Updated: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-2104:
--------------------------------------

    Remaining Estimate: 8h
     Original Estimate: 8h

> 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
>
>         Attachments: 0001-Use-the-right-comparator-when-deserializing-superCol.patch, Unit-test.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> 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

        

[jira] Updated: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Sylvain Lebresne (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sylvain Lebresne updated CASSANDRA-2104:
----------------------------------------

    Attachment: 0001-Use-the-right-comparator-when-deserializing-superCol.patch

> 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
>
>         Attachments: 0001-Use-the-right-comparator-when-deserializing-superCol.patch
>
>
> 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

        

[jira] Updated: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction of supercolumns

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-2104:
--------------------------------------

    Summary: IndexOutOfBoundsException during lazy row compaction of supercolumns  (was: IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator))

> IndexOutOfBoundsException during lazy row compaction of supercolumns
> --------------------------------------------------------------------
>
>                 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
>
>         Attachments: 0001-Use-the-right-comparator-when-deserializing-superCol.patch, Unit-test.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> 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

        

[jira] Commented: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12990166#comment-12990166 ] 

Jonathan Ellis commented on CASSANDRA-2104:
-------------------------------------------

I believe you mentioned on the ML that you have data that compacts fine if you increase the in_memory limit, but not with lazy mode?

If so, can you get me a copy of that sstable to test with?  I can set up a place for you to upload it privately if you can't make it public.

> 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, 0.7.1
>            Reporter: Daniel Lundin
>
> 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

        

[jira] Commented: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Sylvain Lebresne (JIRA)" <ji...@apache.org>.
    [ 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

        

[jira] Reopened: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis reopened CASSANDRA-2104:
---------------------------------------


Jonas, are you also seeing the error only on rows larger than in_memory_compaction_limit then?

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

        

[jira] Updated: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Sylvain Lebresne (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sylvain Lebresne updated CASSANDRA-2104:
----------------------------------------

    Attachment: Unit-test.patch

Attaching a unit test that exposes the bug (and confirm the fix)

> 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
>
>         Attachments: 0001-Use-the-right-comparator-when-deserializing-superCol.patch, Unit-test.patch
>
>
> 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

        

[jira] Resolved: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Daniel Lundin (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Lundin resolved CASSANDRA-2104.
--------------------------------------

    Resolution: Cannot Reproduce

> 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, 0.7.1
>            Reporter: Daniel Lundin
>
> 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

        

[jira] Commented: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction (using TimeUUID comparator)

Posted by "Jonas Borgström (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12998872#comment-12998872 ] 

Jonas Borgström commented on CASSANDRA-2104:
--------------------------------------------

Hi Sylvain,

The last time I reproduce it I used "create column family bar with column_type=Super and comparator=TimeUUIDType and subcomparator=UTF8Type;" and had to run the test case twice.

Anyway here's a new data directory with only a subset of the sstables from the last dump. I get an exception in the log within seconds after issuing a "compact" command.

http://jonas.borgstrom.se/cassandra/CASSANDRA-2104-v2.tar.gz (153kB compressed and 127MB uncompressed)

> 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

       

[jira] Commented: (CASSANDRA-2104) IndexOutOfBoundsException during lazy row compaction of supercolumns

Posted by "Sylvain Lebresne (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13005015#comment-13005015 ] 

Sylvain Lebresne commented on CASSANDRA-2104:
---------------------------------------------

Can you open a new ticket with the description of the problem then. If you're at liberty to attach an bad sstable to reproduce the problem, that would clearly help.

> IndexOutOfBoundsException during lazy row compaction of supercolumns
> --------------------------------------------------------------------
>
>                 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
>
>         Attachments: 0001-Use-the-right-comparator-when-deserializing-superCol.patch, Unit-test.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> 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