[ 
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)

Reply via email to