[ https://issues.apache.org/jira/browse/CASSANDRA-9636?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14705098#comment-14705098 ]
Chris Burroughs commented on CASSANDRA-9636: -------------------------------------------- I'm a little confused after reading this ticket, is `select now() from system.local;` a good query that should work or a bad one that needs a better error message? > Duplicate columns in selection causes AssertionError > ---------------------------------------------------- > > Key: CASSANDRA-9636 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9636 > Project: Cassandra > Issue Type: Bug > Reporter: Sam Tunnicliffe > Assignee: Sam Tunnicliffe > Fix For: 2.2.0 rc2, 2.1.8, 2.0.17, 3.0 alpha 1 > > Attachments: 9636-2.0.txt, 9636-2.1.txt, 9636-2.2.txt, 9636-trunk.txt > > > Prior to CASSANDRA-9532, unaliased duplicate fields in a selection would be > silently ignored. Now, they trigger a server side exception and an unfriendly > error response, which we should clean up. Duplicate columns *with* aliases > are not affected. > {code} > CREATE KEYSPACE ks WITH replication = {'class': 'SimpleStrategy', > 'replication_factor': 1}; > CREATE TABLE ks.t1 (k int PRIMARY KEY, v int); > INSERT INTO ks.t2 (k, v) VALUES (0, 0); > SELECT k, v FROM ks.t2; > SELECT k, v, v AS other_v FROM ks.t2; > SELECT k, v, v FROM ks.t2; > {code} > The final statement results in this error response & server side stacktrace: > {code} > ServerError: <ErrorMessage code=0000 [Server error] > message="java.lang.AssertionError"> > ERROR 13:01:30 Unexpected exception during request; channel = [id: > 0x44d22e61, /127.0.0.1:39463 => /127.0.0.1:9042] > java.lang.AssertionError: null > at org.apache.cassandra.cql3.ResultSet.addRow(ResultSet.java:63) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.Selection$ResultSetBuilder.build(Selection.java:355) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:1226) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:299) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:238) > ~[main/:na] > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:67) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:238) > ~[main/:na] > at > org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:260) > ~[main/:na] > at > org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:119) > ~[main/:na] > at > org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439) > [main/:na] > at > org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335) > [main/:na] > at > io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) > [netty-all-4.0.23.Final.jar:4.0.23.Final] > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) > [netty-all-4.0.23.Final.jar:4.0.23.Final] > at > io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32) > [netty-all-4.0.23.Final.jar:4.0.23.Final] > at > io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324) > [netty-all-4.0.23.Final.jar:4.0.23.Final] > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > [na:1.8.0_45] > at > org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164) > [main/:na] > at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) > [main/:na] > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45] > {code} > This issue also presents on the head of the 2.2 branch and on 2.0.16. > However, the prior behaviour is different on both of those branches. > In the 2.0 line prior to CASSANDRA-9532, duplicate columns would actually be > included in the results, as opposed to being silently dropped as per 2.1.x > In 2.2, the assertion error seen above precedes CASSANDRA-9532 and is also > triggered for both aliased and unaliased duplicate columns. -- This message was sent by Atlassian JIRA (v6.3.4#6332)