Jeremiah Jordan created CASSANDRA-7798:
------------------------------------------
Summary: Empty clustering column not caught for CQL3 update to
compact storage counter table
Key: CASSANDRA-7798
URL: https://issues.apache.org/jira/browse/CASSANDRA-7798
Project: Cassandra
Issue Type: Bug
Components: Core
Reporter: Jeremiah Jordan
Assignee: Aleksey Yeschenko
If you update a compact storage counter column through cql3 you can set an
empty column name, which is invalid. The server catches this for normal
tables, but misses it for counters, and you end up with an assertion when the
mutation gets serialized.
{noformat}
CREATE TABLE nullcoltest (
key text,
column1 text,
value counter,
PRIMARY KEY (key, column1)
) WITH COMPACT STORAGE;
UPDATE nullcoltest SET value = value + 1 WHERE key = 'k1' AND column1 = '';
{noformat}
{noformat}
ERROR [COMMIT-LOG-WRITER] 2014-08-19 16:11:12,179 CassandraDaemon.java (line
199) Exception in thread Thread[COMMIT-LOG-WRITER,5,main]
java.lang.AssertionError
at
org.apache.cassandra.db.ColumnSerializer.serialize(ColumnSerializer.java:56)
at
org.apache.cassandra.db.ColumnFamilySerializer.serialize(ColumnFamilySerializer.java:77)
at
org.apache.cassandra.db.RowMutation$RowMutationSerializer.serialize(RowMutation.java:278)
at
org.apache.cassandra.db.commitlog.CommitLogSegment.write(CommitLogSegment.java:264)
at
org.apache.cassandra.db.commitlog.CommitLog$LogRecordAdder.run(CommitLog.java:357)
at
org.apache.cassandra.db.commitlog.PeriodicCommitLogExecutorService$1.runMayThrow(PeriodicCommitLogExecutorService.java:51)
at
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
at java.lang.Thread.run(Thread.java:744)
{noformat}
--
This message was sent by Atlassian JIRA
(v6.2#6252)