cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kristoffer Carlson (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-4326) IndexOutOfBoundsException on TimeUUIDType.compareTimestampBytes
Date Sat, 09 Jun 2012 12:17:42 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-4326?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Kristoffer Carlson updated CASSANDRA-4326:
------------------------------------------

    Description: 
I get the following exception when performing a query on two indexed columns (both UTF8Type)
with TimeUUIDType as the column families key validation class:

{noformat}
java.lang.RuntimeException: java.lang.IndexOutOfBoundsException
        at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1254)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(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.get(Unknown Source)
        at org.apache.cassandra.db.marshal.TimeUUIDType.compareTimestampBytes(TimeUUIDType.java:76)
        at org.apache.cassandra.db.marshal.TimeUUIDType.compare(TimeUUIDType.java:65)
        at org.apache.cassandra.db.marshal.TimeUUIDType.compare(TimeUUIDType.java:37)
        at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:45)
        at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:89)
        at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:38)
        at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(Unknown Source)
        at java.util.concurrent.ConcurrentSkipListMap.findNode(Unknown Source)
        at java.util.concurrent.ConcurrentSkipListMap.doGet(Unknown Source)
        at java.util.concurrent.ConcurrentSkipListMap.get(Unknown Source)
        at org.apache.cassandra.db.Memtable.resolve(Memtable.java:235)
        at org.apache.cassandra.db.Memtable.put(Memtable.java:156)
        at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:742)
        at org.apache.cassandra.db.index.keys.KeysIndex.deleteColumn(KeysIndex.java:82)
        at org.apache.cassandra.db.index.SecondaryIndexManager.applyIndexUpdates(SecondaryIndexManager.java:460)
        at org.apache.cassandra.db.Table.apply(Table.java:441)
        at org.apache.cassandra.db.Table.apply(Table.java:366)
        at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:294)
        at org.apache.cassandra.service.StorageProxy$6.runMayThrow(StorageProxy.java:453)
        at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1250)
        ... 3 more
ERROR [Selector-Thread-0] 2012-06-09 13:43:21,878 TNonblockingServer.java (line 468) Read
an invalid frame size of 0. Are you using TFramedTransport on the client side?
{ 

Also, the keys were generated with the following function (which had worked previously):
{noformat}
    public static UUID convertLegacyIdToUuid(long millis, long userId)
    {
        long time = millis * 10000 + 0x01b21dd213814000L;
        long timeLow = time & 0xffffffffL;
        long timeMid = time & 0xffff00000000L;
        long timeHi = time & 0xfff000000000000L;
        long upperLong = ( timeLow << 32 ) | ( timeMid >> 16 ) | ( 1 <<
12 ) | ( timeHi >> 48 );
        return new UUID(upperLong, userId);
    }
{ 

  was:
I get the following exception when performing a query on two indexed columns (both UTF8Type)
with TimeUUIDType as the column families key validation class:

java.lang.RuntimeException: java.lang.IndexOutOfBoundsException
        at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1254)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(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.get(Unknown Source)
        at org.apache.cassandra.db.marshal.TimeUUIDType.compareTimestampBytes(TimeUUIDType.java:76)
        at org.apache.cassandra.db.marshal.TimeUUIDType.compare(TimeUUIDType.java:65)
        at org.apache.cassandra.db.marshal.TimeUUIDType.compare(TimeUUIDType.java:37)
        at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:45)
        at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:89)
        at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:38)
        at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(Unknown Source)
        at java.util.concurrent.ConcurrentSkipListMap.findNode(Unknown Source)
        at java.util.concurrent.ConcurrentSkipListMap.doGet(Unknown Source)
        at java.util.concurrent.ConcurrentSkipListMap.get(Unknown Source)
        at org.apache.cassandra.db.Memtable.resolve(Memtable.java:235)
        at org.apache.cassandra.db.Memtable.put(Memtable.java:156)
        at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:742)
        at org.apache.cassandra.db.index.keys.KeysIndex.deleteColumn(KeysIndex.java:82)
        at org.apache.cassandra.db.index.SecondaryIndexManager.applyIndexUpdates(SecondaryIndexManager.java:460)
        at org.apache.cassandra.db.Table.apply(Table.java:441)
        at org.apache.cassandra.db.Table.apply(Table.java:366)
        at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:294)
        at org.apache.cassandra.service.StorageProxy$6.runMayThrow(StorageProxy.java:453)
        at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1250)
        ... 3 more
ERROR [Selector-Thread-0] 2012-06-09 13:43:21,878 TNonblockingServer.java (line 468) Read
an invalid frame size of 0. Are you using TFramedTransport on the client side?


Also, the keys were generated with the following function (which had worked previously):

    public static UUID convertLegacyIdToUuid(long millis, long userId)
    {
        long time = millis * 10000 + 0x01b21dd213814000L;
        long timeLow = time & 0xffffffffL;
        long timeMid = time & 0xffff00000000L;
        long timeHi = time & 0xfff000000000000L;
        long upperLong = ( timeLow << 32 ) | ( timeMid >> 16 ) | ( 1 <<
12 ) | ( timeHi >> 48 );
        return new UUID(upperLong, userId);
    }


    
> IndexOutOfBoundsException on TimeUUIDType.compareTimestampBytes
> ---------------------------------------------------------------
>
>                 Key: CASSANDRA-4326
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4326
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.1
>         Environment: Cassandra 1.1.1 running on CentOS 6.0 64bit. 5 nodes, mixed hardware.
>            Reporter: Kristoffer Carlson
>
> I get the following exception when performing a query on two indexed columns (both UTF8Type)
with TimeUUIDType as the column families key validation class:
> {noformat}
> java.lang.RuntimeException: java.lang.IndexOutOfBoundsException
>         at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1254)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(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.get(Unknown Source)
>         at org.apache.cassandra.db.marshal.TimeUUIDType.compareTimestampBytes(TimeUUIDType.java:76)
>         at org.apache.cassandra.db.marshal.TimeUUIDType.compare(TimeUUIDType.java:65)
>         at org.apache.cassandra.db.marshal.TimeUUIDType.compare(TimeUUIDType.java:37)
>         at org.apache.cassandra.dht.LocalToken.compareTo(LocalToken.java:45)
>         at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:89)
>         at org.apache.cassandra.db.DecoratedKey.compareTo(DecoratedKey.java:38)
>         at java.util.concurrent.ConcurrentSkipListMap.findPredecessor(Unknown Source)
>         at java.util.concurrent.ConcurrentSkipListMap.findNode(Unknown Source)
>         at java.util.concurrent.ConcurrentSkipListMap.doGet(Unknown Source)
>         at java.util.concurrent.ConcurrentSkipListMap.get(Unknown Source)
>         at org.apache.cassandra.db.Memtable.resolve(Memtable.java:235)
>         at org.apache.cassandra.db.Memtable.put(Memtable.java:156)
>         at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:742)
>         at org.apache.cassandra.db.index.keys.KeysIndex.deleteColumn(KeysIndex.java:82)
>         at org.apache.cassandra.db.index.SecondaryIndexManager.applyIndexUpdates(SecondaryIndexManager.java:460)
>         at org.apache.cassandra.db.Table.apply(Table.java:441)
>         at org.apache.cassandra.db.Table.apply(Table.java:366)
>         at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:294)
>         at org.apache.cassandra.service.StorageProxy$6.runMayThrow(StorageProxy.java:453)
>         at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1250)
>         ... 3 more
> ERROR [Selector-Thread-0] 2012-06-09 13:43:21,878 TNonblockingServer.java (line 468)
Read an invalid frame size of 0. Are you using TFramedTransport on the client side?
> { 
> Also, the keys were generated with the following function (which had worked previously):
> {noformat}
>     public static UUID convertLegacyIdToUuid(long millis, long userId)
>     {
>         long time = millis * 10000 + 0x01b21dd213814000L;
>         long timeLow = time & 0xffffffffL;
>         long timeMid = time & 0xffff00000000L;
>         long timeHi = time & 0xfff000000000000L;
>         long upperLong = ( timeLow << 32 ) | ( timeMid >> 16 ) | ( 1 <<
12 ) | ( timeHi >> 48 );
>         return new UUID(upperLong, userId);
>     }
> { 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

Mime
View raw message