You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Le Duc Duy (JIRA)" <ji...@apache.org> on 2013/08/07 07:27:48 UTC

[jira] [Commented] (CASSANDRA-5851) Fix 2i on composite components omissions

    [ https://issues.apache.org/jira/browse/CASSANDRA-5851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13731657#comment-13731657 ] 

Le Duc Duy commented on CASSANDRA-5851:
---------------------------------------

I got this when I query on 2 indexed column. Is this expected?

SELECT * FROM gurugara.outgoing_edge WHERE source_id = 3 AND dest_id = 1 AND type = 'meh'  ALLOW FILTERING;
`dest_id` and `type` are secondary indexed column


ERROR 07:23:13,702 Exception in thread Thread[ReadStage:4,5,main]
java.lang.RuntimeException: java.lang.RuntimeException: Unable to search across multiple secondary index types
	at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1867)
	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.RuntimeException: Unable to search across multiple secondary index types
	at org.apache.cassandra.db.index.SecondaryIndexManager.search(SecondaryIndexManager.java:523)
	at org.apache.cassandra.db.ColumnFamilyStore.search(ColumnFamilyStore.java:1627)
	at org.apache.cassandra.db.RangeSliceCommand.executeLocally(RangeSliceCommand.java:135)
	at org.apache.cassandra.service.StorageProxy$LocalRangeSliceRunnable.runMayThrow(StorageProxy.java:1358)
	at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1863)
	... 3 more

                
> Fix 2i on composite components omissions
> ----------------------------------------
>
>                 Key: CASSANDRA-5851
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5851
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 2.0 beta 2
>            Reporter: Aleksey Yeschenko
>            Assignee: Aleksey Yeschenko
>             Fix For: 2.0
>
>         Attachments: 5851.txt
>
>
> There some edge-cases, not covered by CASSANDRA-5125, the attached patch fixes those:
> (Assuming CREATE TABLE test (pk0 int, pk1 int, ck0 int, ck1 int, val int, PRIMARY KEY ((pk0, pk1), ck0, ck1)))
> - could not create a 2i on the first part of a composite partition key (pk0)
> - if created, it couldn't work because of getKeyBounds() returning non-empty bounds
> - could create an index on the first clustering key column (ck0), but it would never actually be triggered on reads
> - queries like SELECT * FROM test WHERE pk0 = x AND pk1 = y AND ck1 = z would throw an exception because COCK.makeIndexColumnNameBuilder() couldn't handle empty provided columnName
> - cqlsh could not describe any of these indexes because it was taking column aliases and key aliases from schema_columnfamilies and not reading them directly from schema_columns (had to do the related refactoring).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira