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

Gary Dusbabek commented on CASSANDRA-1015:
------------------------------------------

Stu and I discussed things last week.  We arrived at the conclusion that avro 
unions would allow us the flexibility needed to modify messages easily.  E.g.:
{code}
record Foo {
    string a;
}
{code}
easily becomes:
{code}
record Foo {
    union{string, int} a;
}
{code}

FWIW the same thing could be done in thrift, but much more clumsily (requires 
modified fields have new names).

I've created CASSANDRA-1765 to evaluate serialization mechanisms (let's settle 
the thrift/avro/msgpack decision).

> Internal Messaging should be backwards compatible
> -------------------------------------------------
>
>                 Key: CASSANDRA-1015
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1015
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Ryan King
>            Assignee: Gary Dusbabek
>            Priority: Critical
>             Fix For: 0.8
>
>
> Currently, incompatible changes in the node-to-node communication prevent 
> rolling restarts of clusters.
> In order to fix this we should:
> 1) use a framework that makes doing compatible changes easy
> 2) have a policy of only making compatible changes between versions n and n+1*
> * Running multiple versions should only be supported for small periods of 
> time. Running clusters of mixed version is not needed here.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to