You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2011/04/29 18:28:03 UTC

[jira] [Commented] (CASSANDRA-2571) Check for null super column for SC CF in ThriftValidation (and always validate the sc key)

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

Hudson commented on CASSANDRA-2571:
-----------------------------------

Integrated in Cassandra-0.7 #463 (See [https://builds.apache.org/hudson/job/Cassandra-0.7/463/])
    Reject queries with missing mandatory super column and always validate super column name
patch by jbellis and slebresne for CASSANDRA-2571


> Check for null super column for SC CF in ThriftValidation (and always validate the sc key)
> ------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-2571
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2571
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.7.0, 0.8 beta 1
>            Reporter: Mike Bulman
>            Assignee: Sylvain Lebresne
>             Fix For: 0.7.6, 0.8.0
>
>         Attachments: 0001-Improve-ThriftValidation.patch, 2571.txt
>
>
> Run the following via cli:
> {noformat}
> [default@test] use test;
> Authenticated to keyspace: test
> [default@test] create column family super with column_type=Super and default_validation_class=CounterColumnType;
> d41df8e0-7055-11e0-0000-242d50cf1fbf
> Waiting for schema agreement...
> ... schemas agree across the cluster
> [default@test] incr super['0']['0'];
> Value incremented.
> [default@test] incr super['0']['0']['0'];
> null
> {noformat}
> Obviously the first incr call is invalid, even though it reports otherwise, as well as generates this exception:
> {noformat}
> ERROR 17:38:05,871 Fatal exception in thread Thread[COMMIT-LOG-WRITER,5,main]
> java.lang.RuntimeException: java.lang.ClassCastException: org.apache.cassandra.db.CounterColumn cannot be cast to org.apache.cassandra.db.SuperColumn
>         at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:34)
>         at java.lang.Thread.run(Thread.java:636)
> Caused by: java.lang.ClassCastException: org.apache.cassandra.db.CounterColumn cannot be cast to org.apache.cassandra.db.SuperColumn
>         at org.apache.cassandra.db.SuperColumnSerializer.serialize(SuperColumn.java:353)
>         at org.apache.cassandra.db.SuperColumnSerializer.serialize(SuperColumn.java:337)
>         at org.apache.cassandra.db.ColumnFamilySerializer.serializeForSSTable(ColumnFamilySerializer.java:88)
>         at org.apache.cassandra.db.ColumnFamilySerializer.serialize(ColumnFamilySerializer.java:74)
>         at org.apache.cassandra.db.RowMutation$RowMutationSerializer.serialize(RowMutation.java:353)
>         at org.apache.cassandra.db.RowMutation.getSerializedBuffer(RowMutation.java:236)
>         at org.apache.cassandra.db.commitlog.CommitLogSegment.write(CommitLogSegment.java:111)
>         at org.apache.cassandra.db.commitlog.CommitLog$LogRecordAdder.run(CommitLog.java:480)
>         at org.apache.cassandra.db.commitlog.PeriodicCommitLogExecutorService$1.runMayThrow(PeriodicCommitLogExecutorService.java:49)
>         at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
>         ... 1 more
> {noformat}
> But the second, proper incr call results in a bunch of exceptions and not a real increment.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira