cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-7455) AssertionError with static columns
Date Sat, 28 Jun 2014 01:17:24 GMT

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

Aleksey Yeschenko commented on CASSANDRA-7455:
----------------------------------------------

LGTM

nit: CompositeType#isStaticName() is a static method, so should probably call it directly
as that and not via the instance variable. Should also change the same call on line 139, while
at it.

> AssertionError with static columns
> ----------------------------------
>
>                 Key: CASSANDRA-7455
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7455
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: graham sanderson
>            Assignee: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 2.0.10
>
>         Attachments: 7455.txt
>
>
> 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)

Mime
View raw message