cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-6931) BatchLogManager shouldn't serialize mutations with version 1.2 in 2.1.
Date Sun, 30 Mar 2014 00:25:14 GMT

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

Aleksey Yeschenko edited comment on CASSANDRA-6931 at 3/30/14 12:24 AM:
------------------------------------------------------------------------

Pushed to https://github.com/iamaleksey/cassandra/commits/6931-2.0 and to 
https://github.com/iamaleksey/cassandra/commits/6931-2.1

The first (2.0) branch makes 2.0 understand VERSION_20-encoded batches sent from 2.1, which
fixes currently broken 2.1->2.0 super-cf batches during the rolling upgrade.

The second (2.1) branch adds 'version' column to the batchlog cf and uses/records the version
of the target node when serializing for the batchlog.

This means that 1) Rolling upgrade to 2.1 requires at least 2.0.7 now, and 2) We can't ditch
supercolumn deserialize code entirely until 3.0, unless we introduce a required middle step
somewhere in 2.0, which I'd rather not do.



was (Author: iamaleksey):
Pushed to https://github.com/iamaleksey/cassandra/commits/6931

On trunk merge will get rid of the special casing of VERSION_12 in BatchlogManager#processBatchlogPage()
and StorageProxy#syncWriteToBatchlog().



> BatchLogManager shouldn't serialize mutations with version 1.2 in 2.1.
> ----------------------------------------------------------------------
>
>                 Key: CASSANDRA-6931
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6931
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Sylvain Lebresne
>            Assignee: Aleksey Yeschenko
>             Fix For: 2.1 beta2
>
>
> BatchLogManager serialize and deserialize mutations using MessagingService.VERSION_12
and this is hardcoded. Meaning that it does that in 2.0, 2.1 and trunk, even though in 2.1
the 1.2 format is not properly serialized properly since [this commit|https://github.com/apache/cassandra/commit/cca65d7c1638dcd9370b080f08fd55faefc2733e]
(meaning that I'm pretty sure batch logs on super columns is broken on 2.1 currently). And
keeping the 1.2 format indefinitely just for batchlog is unrealistic.
> So batchlog needs to do something like hints, record the messaging format used to encode
every mutation and use that for deserialization, but always serialize with the current format.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message