You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "graham sanderson (JIRA)" <ji...@apache.org> on 2014/06/26 22:49:29 UTC

[jira] [Created] (CASSANDRA-7455) AssertionError with static columns

graham sanderson created CASSANDRA-7455:
-------------------------------------------

             Summary: AssertionError with static columns
                 Key: CASSANDRA-7455
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7455
             Project: Cassandra
          Issue Type: Bug
            Reporter: graham sanderson
            Priority: Minor


Depending on how you insert static column values, regular values (and implicitly static column row markers and regular column rows markers), you can cause an AssertionError on select (collision between some of the empty composite name fragments) if you have an empty partition key

Example:

{code}
cqlsh:test> create table select_error(pkey text, ckey text, value text, static_value text static, PRIMARY KEY(pkey, ckey));
cqlsh:test> insert into select_error(pkey, static_value) VALUES('partition1', 'static value');
cqlsh:test> insert into select_error(pkey, ckey, value) VALUES('partition1', '', 'value');
cqlsh:test> select * from select_error;
TSocket read 0 bytes
{code}

Causes

{code}
java.lang.AssertionError
	at org.apache.cassandra.cql3.statements.ColumnGroupMap.add(ColumnGroupMap.java:64)
	at org.apache.cassandra.cql3.statements.ColumnGroupMap.access$200(ColumnGroupMap.java:32)
	at org.apache.cassandra.cql3.statements.ColumnGroupMap$Builder.add(ColumnGroupMap.java:151)
	at org.apache.cassandra.cql3.statements.SelectStatement.processColumnFamily(SelectStatement.java:1202)
	at org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:1078)
	at org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:280)
	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:257)
	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:222)
	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:60)
	at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:158)
	at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:175)
	at org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1958)
	at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4486)
	at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4470)
	at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
	at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
	at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:201)
	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:744)
{code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)