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

Enrico Scalavino updated CASSANDRA-6470:
----------------------------------------

    Description: 
schema: CREATE TABLE inboxkeyspace.inboxes(user_id bigint, message_id bigint, 
thread_id bigint, network_id bigint, read boolean, PRIMARY KEY(user_id, 
message_id)) WITH CLUSTERING ORDER BY (message_id DESC);

query: SELECT thread_id, message_id, network_id FROM inboxkeyspace.inboxes 
WHERE user_id = ? AND message_id < ? AND read = ? LIMIT ? ");

The query works if run via cqlsh. However, when run through the datastax 
client, on the client side we get a timeout exception and on the server side, 
the Cassandra log shows this exception: 

ERROR [ReadStage:4190] 2013-12-10 13:18:03,579 CassandraDaemon.java (line 187) 
Exception in thread Thread[ReadStage:4190,5,main]
java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: 0
        at 
org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1940)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at 
org.apache.cassandra.db.filter.SliceQueryFilter.start(SliceQueryFilter.java:261)
        at 
org.apache.cassandra.db.index.composites.CompositesSearcher.makePrefix(CompositesSearcher.java:66)
        at 
org.apache.cassandra.db.index.composites.CompositesSearcher.getIndexedIterator(CompositesSearcher.java:101)
        at 
org.apache.cassandra.db.index.composites.CompositesSearcher.search(CompositesSearcher.java:53)
        at 
org.apache.cassandra.db.index.SecondaryIndexManager.search(SecondaryIndexManager.java:537)
        at 
org.apache.cassandra.db.ColumnFamilyStore.search(ColumnFamilyStore.java:1669)
        at 
org.apache.cassandra.db.PagedRangeCommand.executeLocally(PagedRangeCommand.java:109)
        at 
org.apache.cassandra.service.StorageProxy$LocalRangeSliceRunnable.runMayThrow(StorageProxy.java:1423)
        at 
org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1936)
        ... 3 more


  was:
schema: CREATE TABLE inboxkeyspace.inboxes(user_id bigint, message_id bigint, 
thread_id bigint, network_id bigint, read boolean, PRIMARY KEY(user_id, 
message_id)) WITH CLUSTERING ORDER BY (message_id DESC);

query: SELECT thread_id, message_id, network_id FROM inboxkeyspace.inboxes 
WHERE user_id = ? AND message_id < ? LIMIT ? ");

The query works if run via cqlsh. However, when run through the datastax 
client, on the client side we get a timeout exception and on the server side, 
the Cassandra log shows this exception: 

ERROR [ReadStage:4190] 2013-12-10 13:18:03,579 CassandraDaemon.java (line 187) 
Exception in thread Thread[ReadStage:4190,5,main]
java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: 0
        at 
org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1940)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at 
org.apache.cassandra.db.filter.SliceQueryFilter.start(SliceQueryFilter.java:261)
        at 
org.apache.cassandra.db.index.composites.CompositesSearcher.makePrefix(CompositesSearcher.java:66)
        at 
org.apache.cassandra.db.index.composites.CompositesSearcher.getIndexedIterator(CompositesSearcher.java:101)
        at 
org.apache.cassandra.db.index.composites.CompositesSearcher.search(CompositesSearcher.java:53)
        at 
org.apache.cassandra.db.index.SecondaryIndexManager.search(SecondaryIndexManager.java:537)
        at 
org.apache.cassandra.db.ColumnFamilyStore.search(ColumnFamilyStore.java:1669)
        at 
org.apache.cassandra.db.PagedRangeCommand.executeLocally(PagedRangeCommand.java:109)
        at 
org.apache.cassandra.service.StorageProxy$LocalRangeSliceRunnable.runMayThrow(StorageProxy.java:1423)
        at 
org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1936)
        ... 3 more



> ArrayIndexOutOfBoundsException on range query from client
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-6470
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6470
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Enrico Scalavino
>
> schema: CREATE TABLE inboxkeyspace.inboxes(user_id bigint, message_id bigint, 
> thread_id bigint, network_id bigint, read boolean, PRIMARY KEY(user_id, 
> message_id)) WITH CLUSTERING ORDER BY (message_id DESC);
> query: SELECT thread_id, message_id, network_id FROM inboxkeyspace.inboxes 
> WHERE user_id = ? AND message_id < ? AND read = ? LIMIT ? ");
> The query works if run via cqlsh. However, when run through the datastax 
> client, on the client side we get a timeout exception and on the server side, 
> the Cassandra log shows this exception: 
> ERROR [ReadStage:4190] 2013-12-10 13:18:03,579 CassandraDaemon.java (line 
> 187) Exception in thread Thread[ReadStage:4190,5,main]
> java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: 0
>         at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1940)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:722)
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
>         at 
> org.apache.cassandra.db.filter.SliceQueryFilter.start(SliceQueryFilter.java:261)
>         at 
> org.apache.cassandra.db.index.composites.CompositesSearcher.makePrefix(CompositesSearcher.java:66)
>         at 
> org.apache.cassandra.db.index.composites.CompositesSearcher.getIndexedIterator(CompositesSearcher.java:101)
>         at 
> org.apache.cassandra.db.index.composites.CompositesSearcher.search(CompositesSearcher.java:53)
>         at 
> org.apache.cassandra.db.index.SecondaryIndexManager.search(SecondaryIndexManager.java:537)
>         at 
> org.apache.cassandra.db.ColumnFamilyStore.search(ColumnFamilyStore.java:1669)
>         at 
> org.apache.cassandra.db.PagedRangeCommand.executeLocally(PagedRangeCommand.java:109)
>         at 
> org.apache.cassandra.service.StorageProxy$LocalRangeSliceRunnable.runMayThrow(StorageProxy.java:1423)
>         at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1936)
>         ... 3 more



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Reply via email to