You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by "Damick, Jeffrey" <Je...@neustar.biz> on 2011/01/31 21:21:00 UTC

Compact Array OOB

We're seeing array index out of bounds exceptions (below) on 0.7.0 when running compact.

The repair seems to hang indefinitely on all nodes, that may be a symptom and this the underlying problem?


On 1 node in our cluster (running compact):

 INFO [CompactionExecutor:1] 2011-01-31 20:07:12,140 CompactionManager.java (line 272) Compacting [org.apache.cassandra.io.sstable.SSTableReader(path='/var/lib/cassandra/data/xxxxxxxx/XXXXXXX-e-318-Data.db'),org.apache.cassandra.io.sstable.SSTableReader(path='/var/lib/cassandra/data/xxxxxxxxxxx/xxxxxxxxxxx-e-317-Data.db')]
ERROR [CompactionExecutor:1] 2011-01-31 20:07:12,295 AbstractCassandraDaemon.java (line 91) Fatal exception in thread Thread[CompactionExecutor:1,1,main]
java.lang.ArrayIndexOutOfBoundsException: 7
    at org.apache.cassandra.db.marshal.TimeUUIDType.compareTimestampBytes(TimeUUIDType.java:58)
    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(Unknown Source)
    at java.util.concurrent.ConcurrentSkipListMap.doPut(Unknown Source)
    at java.util.concurrent.ConcurrentSkipListMap.putIfAbsent(Unknown Source)



And another node (running compact):

 INFO [StreamStage:1] 2011-01-31 20:03:48,663 StreamOutSession.java (line 174) Streaming to /xxx.xxx.xxx.xxx
ERROR [CompactionExecutor:1] 2011-01-31 20:03:52,587 AbstractCassandraDaemon.java (line 91) Fatal exception in thread Thread[CompactionExecutor:1,1,main]
java.lang.ArrayIndexOutOfBoundsException
ERROR [CompactionExecutor:1] 2011-01-31 20:03:54,216 AbstractCassandraDaemon.java (line 91) Fatal exception in thread Thread[CompactionExecutor:1,1,main]
java.lang.ArrayIndexOutOfBoundsException: 6
        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(Unknown Source)
        at java.util.concurrent.ConcurrentSkipListMap.doPut(Unknown Source)
        at java.util.concurrent.ConcurrentSkipListMap.putIfAbsent(Unknown Source)
        at org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:218)


Is this related to: CASSANDRA-1959 ?

Thanks
-jeff

Re: Compact Array OOB

Posted by "Damick, Jeffrey" <Je...@neustar.biz>.
Is there any way to manually fix / workaround this?   I don't any in the bug..


On 1/31/11 3:25 PM, "Brandon Williams" <dr...@gmail.com> wrote:

On Mon, Jan 31, 2011 at 2:21 PM, Damick, Jeffrey <Je...@neustar.biz> wrote:
And another node (running compact):

 INFO [StreamStage:1] 2011-01-31 20:03:48,663 StreamOutSession.java (line 174) Streaming to /xxx.xxx.xxx.xxx
ERROR [CompactionExecutor:1] 2011-01-31 20:03:52,587 AbstractCassandraDaemon.java (line 91) Fatal exception in thread Thread[CompactionExecutor:1,1,main]
java.lang.ArrayIndexOutOfBoundsException
ERROR [CompactionExecutor:1] 2011-01-31 20:03:54,216 AbstractCassandraDaemon.java (line 91) Fatal exception in thread Thread[CompactionExecutor:1,1,main]
java.lang.ArrayIndexOutOfBoundsException: 6
        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(Unknown Source)
        at java.util.concurrent.ConcurrentSkipListMap.doPut(Unknown Source)
        at java.util.concurrent.ConcurrentSkipListMap.putIfAbsent(Unknown Source)
        at org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:218)


Is this related to: CASSANDRA-1959 ?

It looks like https://issues.apache.org/jira/browse/CASSANDRA-1992 to me, it's trying to compact a TimeUUID CF with one that is not.

-Brandon


Re: Compact Array OOB

Posted by Brandon Williams <dr...@gmail.com>.
On Mon, Jan 31, 2011 at 2:21 PM, Damick, Jeffrey <Jeffrey.Damick@neustar.biz
> wrote:
>
>  And another node (running compact):
>
>  INFO [StreamStage:1] 2011-01-31 20:03:48,663 StreamOutSession.java (line
> 174) Streaming to /xxx.xxx.xxx.xxx
> ERROR [CompactionExecutor:1] 2011-01-31 20:03:52,587
> AbstractCassandraDaemon.java (line 91) Fatal exception in thread
> Thread[CompactionExecutor:1,1,main]
> java.lang.ArrayIndexOutOfBoundsException
> ERROR [CompactionExecutor:1] 2011-01-31 20:03:54,216
> AbstractCassandraDaemon.java (line 91) Fatal exception in thread
> Thread[CompactionExecutor:1,1,main]
> java.lang.ArrayIndexOutOfBoundsException: 6
>         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(Unknown
> Source)
>         at java.util.concurrent.ConcurrentSkipListMap.doPut(Unknown Source)
>         at java.util.concurrent.ConcurrentSkipListMap.putIfAbsent(Unknown
> Source)
>         at
> org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:218)
>
>
> Is this related to: CASSANDRA-1959 ?
>

It looks like https://issues.apache.org/jira/browse/CASSANDRA-1992 to me,
it's trying to compact a TimeUUID CF with one that is not.

-Brandon