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