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

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

Integrated in Cassandra #872 (See 
[https://builds.apache.org/hudson/job/Cassandra/872/])
    merge CASSANDRA-2571 from 0.8


> 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

Reply via email to