Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B29CA1167E for ; Tue, 10 Jun 2014 07:25:03 +0000 (UTC) Received: (qmail 12159 invoked by uid 500); 10 Jun 2014 07:25:03 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 12005 invoked by uid 500); 10 Jun 2014 07:25:02 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 11995 invoked by uid 99); 10 Jun 2014 07:25:02 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 10 Jun 2014 07:25:02 +0000 Date: Tue, 10 Jun 2014 07:25:02 +0000 (UTC) From: "Sylvain Lebresne (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (CASSANDRA-7372) Exception when querying a composite-keyed table with a collection index MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CASSANDRA-7372?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14026201#comment-14026201 ] Sylvain Lebresne commented on CASSANDRA-7372: --------------------------------------------- Why do we end up with an empty composite there? That feels wrong and so I'm not sure creating an index entry for it is the right fix. Will look more closely when I'm not on a phone. > Exception when querying a composite-keyed table with a collection index > ----------------------------------------------------------------------- > > Key: CASSANDRA-7372 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7372 > Project: Cassandra > Issue Type: Bug > Reporter: Ghais Issa > Fix For: 2.1.0 > > Attachments: CASSANDRA-2.1-7372-v2.patch > > > Given the following schema: > {code} > CREATE TABLE products ( > account text, > id int, > categories set, > PRIMARY KEY (account, id) > ); > CREATE INDEX cat_index ON products(categories); > {code} > The following query fails with an exception > {code} > SELECT * FROM products WHERE account = 'xyz' AND categories CONTAINS 'lmn'; > errors={}, last_host=127.0.0.1 > {code} > The exception in cassandra's log is: > {code} > WARN 17:01:49 Uncaught exception on thread Thread[SharedPool-Worker-2,5,main]: {} > java.lang.RuntimeException: java.lang.IndexOutOfBoundsException > at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2015) ~[apache-cassandra-2.1.0-rc1.jar:2.1.0-rc1] > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) ~[na:1.7.0_25] > at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:162) ~[apache-cassandra-2.1.0-rc1.jar:2.1.0-rc1] > at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:103) ~[apache-cassandra-2.1.0-rc1.jar:2.1.0-rc1] > at java.lang.Thread.run(Thread.java:724) ~[na:1.7.0_25] > Caused by: java.lang.IndexOutOfBoundsException: null > at org.apache.cassandra.db.composites.Composites$EmptyComposite.get(Composites.java:60) ~[apache-cassandra-2.1.0-rc1.jar:2.1.0-rc1] > at org.apache.cassandra.db.index.composites.CompositesIndexOnCollectionKey.makeIndexColumnPrefix(CompositesIndexOnCollectionKey.java:78) ~[apache-cassandra-2.1.0-rc1.jar:2.1.0-rc1] > at org.apache.cassandra.db.index.composites.CompositesSearcher.makePrefix(CompositesSearcher.java:82) ~[apache-cassandra-2.1.0-rc1.jar:2.1.0-rc1] > at org.apache.cassandra.db.index.composites.CompositesSearcher.getIndexedIterator(CompositesSearcher.java:116) ~[apache-cassandra-2.1.0-rc1.jar:2.1.0-rc1] > at org.apache.cassandra.db.index.composites.CompositesSearcher.search(CompositesSearcher.java:68) ~[apache-cassandra-2.1.0-rc1.jar:2.1.0-rc1] > at org.apache.cassandra.db.index.SecondaryIndexManager.search(SecondaryIndexManager.java:589) ~[apache-cassandra-2.1.0-rc1.jar:2.1.0-rc1] > at org.apache.cassandra.db.ColumnFamilyStore.search(ColumnFamilyStore.java:2060) ~[apache-cassandra-2.1.0-rc1.jar:2.1.0-rc1] > at org.apache.cassandra.db.RangeSliceCommand.executeLocally(RangeSliceCommand.java:131) ~[apache-cassandra-2.1.0-rc1.jar:2.1.0-rc1] > at org.apache.cassandra.service.StorageProxy$LocalRangeSliceRunnable.runMayThrow(StorageProxy.java:1368) ~[apache-cassandra-2.1.0-rc1.jar:2.1.0-rc1] > at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2011) ~[apache-cassandra-2.1.0-rc1.jar:2.1.0-rc1] > ... 4 common frames omitted > {code} > The following query however works > {code} > SELECT * FROM products WHERE categories CONTAINS 'lmn'; > {code} -- This message was sent by Atlassian JIRA (v6.2#6252)