[ 
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?
{noformat}

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

{code:borderStyle=solid}
    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);
    }
{code} 

  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:

{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?
{noformat}

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

{code|borderStyle=solid}
    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);
    }
{code} 

    
> 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?
> {noformat}
> Also, the keys were generated with the following function (which had worked 
> previously):
> {code:borderStyle=solid}
>     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);
>     }
> {code} 

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

        

Reply via email to