You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Joel Knighton (JIRA)" <ji...@apache.org> on 2016/09/30 18:58:20 UTC

[jira] [Created] (CASSANDRA-12737) Assertion Error for Column Deletes When Clustering Not Fully Specified

Joel Knighton created CASSANDRA-12737:
-----------------------------------------

             Summary: Assertion Error for Column Deletes When Clustering Not Fully Specified
                 Key: CASSANDRA-12737
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12737
             Project: Cassandra
          Issue Type: Bug
          Components: CQL
            Reporter: Joel Knighton


CQL commands that delete individual columns with a not fully specified clustering key return an AssertionError to the client. For example, consider the table {{tbl}} with three int columns A, B, and C; primary key (A, B); and the command {{DELETE C from tbl where A = 1}}.

On the server side, the stacktrace (in 2.1) is
{code}
java.lang.AssertionError: null
	at org.apache.cassandra.db.composites.CompoundSparseCellNameType.create(CompoundSparseCellNameType.java:147) ~[main/:na]
	at org.apache.cassandra.db.composites.CompoundSparseCellNameType.create(CompoundSparseCellNameType.java:139) ~[main/:na]
	at org.apache.cassandra.cql3.Constants$Deleter.execute(Constants.java:369) ~[main/:na]
	at org.apache.cassandra.cql3.statements.DeleteStatement.addUpdateForKey(DeleteStatement.java:76) ~[main/:na]
	at org.apache.cassandra.cql3.statements.ModificationStatement.getMutations(ModificationStatement.java:739) ~[main/:na]
	at org.apache.cassandra.cql3.statements.ModificationStatement.executeWithoutCondition(ModificationStatement.java:525) ~[main/:na]
	at org.apache.cassandra.cql3.statements.ModificationStatement.execute(ModificationStatement.java:513) ~[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:122) ~[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_102]
	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_102]
ERROR [SharedPool-Worker-1] 2016-09-30 13:38:29,236 Message.java:538 - Unexpected exception during request; channel = [id: 0xb84f3bbe, /127.0.0.1:49812 => /127.0.0.1:9042]
java.lang.AssertionError: null
	at org.apache.cassandra.db.composites.CompoundSparseCellNameType.create(CompoundSparseCellNameType.java:147) ~[main/:na]
	at org.apache.cassandra.db.composites.CompoundSparseCellNameType.create(CompoundSparseCellNameType.java:139) ~[main/:na]
	at org.apache.cassandra.cql3.Constants$Deleter.execute(Constants.java:369) ~[main/:na]
	at org.apache.cassandra.cql3.statements.DeleteStatement.addUpdateForKey(DeleteStatement.java:76) ~[main/:na]
	at org.apache.cassandra.cql3.statements.ModificationStatement.getMutations(ModificationStatement.java:739) ~[main/:na]
	at org.apache.cassandra.cql3.statements.ModificationStatement.executeWithoutCondition(ModificationStatement.java:525) ~[main/:na]
	at org.apache.cassandra.cql3.statements.ModificationStatement.execute(ModificationStatement.java:513) ~[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:122) ~[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_102]
	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_102]
{code}

This is fixed in 3.0+ by [CASSANDRA-10739].



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)