cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-10073) Counter mutation serialization bug
Date Sun, 16 Aug 2015 16:32:45 GMT

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

Sylvain Lebresne commented on CASSANDRA-10073:
----------------------------------------------

Pushed branch with the fixes [here|https://github.com/pcmanus/cassandra/commits/10073] (I'll
update with links to CI results once/if the branch is picked up by cassci).

The reason for the exception is that {{CollectionType.validateCellValue}} is not calling the
proper validation method for it's values (it should call their {{validateCellValue}}). This
is not a particularly new bug, but the only types for which {{validate}} and {{validateCellValue}}
differs are collections (but we don't support nested collections) and counters (for which,
prior to CASSANDRA-8099 were never part of collections -- they can be now if counters are
used in thrift super columns). The first commit fixes that.

Once that was fixed, the test was still failing due to some pretty clear typo in {{ColumnSubselection}}
serialization code, so a 2nd commit fixes that too.

> Counter mutation serialization bug
> ----------------------------------
>
>                 Key: CASSANDRA-10073
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10073
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: T Jake Luciani
>            Assignee: Sylvain Lebresne
>            Priority: Critical
>             Fix For: 3.0 beta 1
>
>
> reproduced in dtest super_counter_test:TestSuperCounterClusterRestart.functional_test_2
> {code}
> - Unexpected error deserializing mutation; saved to /tmp/mutation181379301016027337dat
and ignored.  This may be caused by replaying a mutation against a table with the same name
but incompatible schema.  Exception follows:  org.apache.cassandra.serializers.MarshalException:
Expected 8 or 0 byte long (36) \tat org.apache.cassandra.serializers.LongSerializer.validate(LongSerializer.java:42)
~[main/:na] \tat org.apache.cassandra.db.marshal.AbstractType.validate(AbstractType.java:122)
~[main/:na] \tat org.apache.cassandra.db.marshal.CollectionType.validateCellValue(CollectionType.java:130)
~[main/:na] \tat org.apache.cassandra.config.ColumnDefinition.validateCellValue(ColumnDefinition.java:444)
~[main/:na] \tat org.apache.cassandra.db.rows.AbstractCell.validate(AbstractCell.java:56)
~[main/:na] \tat org.apache.cassandra.db.rows.ComplexColumnData.validate(ComplexColumnData.java:125)
~[main/:na] \tat org.apache.cassandra.db.partitions.PartitionUpdate.validate(PartitionUpdate.java:518)
~[main/:na] \tat org.apache.cassandra.db.commitlog.CommitLogReplayer.replayMutation(CommitLogReplayer.java:485)
[main/:na] \tat org.apache.cassandra.db.commitlog.CommitLogReplayer.replaySyncSection(CommitLogReplayer.java:465)
[main/:na] \tat org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:371)
[main/:na] \tat org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:146)
[main/:na] \tat org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:181) [main/:na]
\tat org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:161) [main/:na] \tat
org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:272) [main/:na] \tat
org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:512) [main/:na]
\tat org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:618) [main/:na]
ERROR [main] 2015-08-12 17:36:38,247 CommitLogReplayer.java:513
> {code}



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

Mime
View raw message