You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Brandon Williams (JIRA)" <ji...@apache.org> on 2012/10/09 20:40:03 UTC

[jira] [Created] (CASSANDRA-4783) AE in cql3 select

Brandon Williams created CASSANDRA-4783:
-------------------------------------------

             Summary: AE in cql3 select
                 Key: CASSANDRA-4783
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4783
             Project: Cassandra
          Issue Type: Bug
    Affects Versions: 1.2.0 beta 1
            Reporter: Brandon Williams
            Assignee: Sylvain Lebresne
             Fix For: 1.2.0 beta 2


Caused by 'select * from foo where key='blah' and column in (...)

{noformat}
ERROR 18:35:46,169 Exception in thread Thread[Thrift:11,5,main]
java.lang.AssertionError
        at org.apache.cassandra.cql3.statements.SelectStatement.getRequestedColumns(SelectStatement.java:443)
        at org.apache.cassandra.cql3.statements.SelectStatement.makeFilter(SelectStatement.java:312)
        at org.apache.cassandra.cql3.statements.SelectStatement.getSliceCommands(SelectStatement.java:200)
        at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:125)
        at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:61)
        at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:130)
        at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:138)
        at org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1658)
        at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3721)
        at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3709)
        at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
        at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
        at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:196)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
{noformat}

Causes cqlsh to hang forever.

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

[jira] [Commented] (CASSANDRA-4783) AE in cql3 select

Posted by "Ian Flatness (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-4783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13475463#comment-13475463 ] 

Ian Flatness commented on CASSANDRA-4783:
-----------------------------------------

I have also found this issue when running update or insert on an existing column with both list and noncollection modifications. 
For example "update my_table insert set list_col = [...], noncollection_col = 'val' where key='row_key';"

{noformat}
ERROR [Thrift:1] 2012-10-12 17:08:10,911 CassandraDaemon.java (line 132) Exception in thread Thread[Thrift:1,5,main]
java.lang.AssertionError
	at org.apache.cassandra.cql3.statements.ColumnGroupMap.getCollection(ColumnGroupMap.java:85)
	at org.apache.cassandra.cql3.statements.UpdateStatement.mutationForKey(UpdateStatement.java:251)
	at org.apache.cassandra.cql3.statements.UpdateStatement.getMutations(UpdateStatement.java:134)
	at org.apache.cassandra.cql3.statements.ModificationStatement.execute(ModificationStatement.java:83)
	at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:130)
	at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:138)
	at org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1677)
	at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3721)
	at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3709)
	at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
	at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
	at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:193)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)
{noformat}
                
> AE in cql3 select
> -----------------
>
>                 Key: CASSANDRA-4783
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4783
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 1.2.0 beta 1
>            Reporter: Brandon Williams
>            Assignee: Sylvain Lebresne
>             Fix For: 1.2.0 beta 2
>
>
> Caused by 'select * from foo where key='blah' and column in (...)
> {noformat}
> ERROR 18:35:46,169 Exception in thread Thread[Thrift:11,5,main]
> java.lang.AssertionError
>         at org.apache.cassandra.cql3.statements.SelectStatement.getRequestedColumns(SelectStatement.java:443)
>         at org.apache.cassandra.cql3.statements.SelectStatement.makeFilter(SelectStatement.java:312)
>         at org.apache.cassandra.cql3.statements.SelectStatement.getSliceCommands(SelectStatement.java:200)
>         at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:125)
>         at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:61)
>         at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:130)
>         at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:138)
>         at org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1658)
>         at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3721)
>         at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3709)
>         at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
>         at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
>         at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:196)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:662)
> {noformat}
> Causes cqlsh to hang forever.

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

[jira] [Updated] (CASSANDRA-4783) AE in cql3 select

Posted by "Sylvain Lebresne (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-4783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sylvain Lebresne updated CASSANDRA-4783:
----------------------------------------

    Attachment: 0002-Fix-mixing-list-set-operation-and-regular-updates.txt
                0001-Fix-validation-of-IN-queries.txt

The reason for the assertionError in select is that we were not validating correctly IN queries. But basically, we don't support yet the kind of IN queries that was attempted. We certainly should, and now that we can do multi-slice queries we should, but that's on the todo list. So attaching a patch that just fix the validation for now, and let's leave lifting the limitation to another ticket.

Ian's assertion error is unrelated but is fairly easy to fix so attaching a second patch for that too (not sure it's worth the trouble of spawning a separate ticket but we can if someone prefers it).
                
> AE in cql3 select
> -----------------
>
>                 Key: CASSANDRA-4783
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4783
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 1.2.0 beta 1
>            Reporter: Brandon Williams
>            Assignee: Sylvain Lebresne
>             Fix For: 1.2.0 beta 2
>
>         Attachments: 0001-Fix-validation-of-IN-queries.txt, 0002-Fix-mixing-list-set-operation-and-regular-updates.txt
>
>
> Caused by 'select * from foo where key='blah' and column in (...)
> {noformat}
> ERROR 18:35:46,169 Exception in thread Thread[Thrift:11,5,main]
> java.lang.AssertionError
>         at org.apache.cassandra.cql3.statements.SelectStatement.getRequestedColumns(SelectStatement.java:443)
>         at org.apache.cassandra.cql3.statements.SelectStatement.makeFilter(SelectStatement.java:312)
>         at org.apache.cassandra.cql3.statements.SelectStatement.getSliceCommands(SelectStatement.java:200)
>         at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:125)
>         at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:61)
>         at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:130)
>         at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:138)
>         at org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1658)
>         at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3721)
>         at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3709)
>         at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
>         at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
>         at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:196)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:662)
> {noformat}
> Causes cqlsh to hang forever.

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

[jira] [Commented] (CASSANDRA-4783) AE in cql3 select

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-4783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13481811#comment-13481811 ] 

Jonathan Ellis commented on CASSANDRA-4783:
-------------------------------------------

+1
                
> AE in cql3 select
> -----------------
>
>                 Key: CASSANDRA-4783
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4783
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 1.2.0 beta 1
>            Reporter: Brandon Williams
>            Assignee: Sylvain Lebresne
>             Fix For: 1.2.0 beta 2
>
>         Attachments: 0001-Fix-validation-of-IN-queries.txt, 0002-Fix-mixing-list-set-operation-and-regular-updates.txt
>
>
> Caused by 'select * from foo where key='blah' and column in (...)
> {noformat}
> ERROR 18:35:46,169 Exception in thread Thread[Thrift:11,5,main]
> java.lang.AssertionError
>         at org.apache.cassandra.cql3.statements.SelectStatement.getRequestedColumns(SelectStatement.java:443)
>         at org.apache.cassandra.cql3.statements.SelectStatement.makeFilter(SelectStatement.java:312)
>         at org.apache.cassandra.cql3.statements.SelectStatement.getSliceCommands(SelectStatement.java:200)
>         at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:125)
>         at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:61)
>         at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:130)
>         at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:138)
>         at org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1658)
>         at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3721)
>         at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3709)
>         at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
>         at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
>         at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:196)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:662)
> {noformat}
> Causes cqlsh to hang forever.

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