You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cassandra.apache.org by Jonathan Ellis <jb...@gmail.com> on 2010/08/05 17:05:58 UTC

Re: network compatibility from 0.6 to 0.7

The situation today is that network compatibility in trunk has been
broken without us noticing for a while now -- in CASSANDRA-956
(according to git annotate) we changed ColumnFamily serialization in a
non-backwards-compatible way.

Given the difficulty on the client side of mixing 0.6 and 0.7, most
sites are going to end up doing a Big Bang upgrade anyway.  So is it
really worth a lot of effort on the network protocol side?

On Thu, Jul 22, 2010 at 5:35 PM, Sylvain Lebresne <sy...@yakaz.com> wrote:
> What would be the pros of breaking it for 0.7 now ?
> I suppose you have something specific in mind that would break
> compatibility ?
>
> On Thu, Jul 22, 2010 at 8:19 PM, Gary Dusbabek <gd...@gmail.com> wrote:
>> I think this depends on how much value users place in rolling upgrades
>> (it's going to vary).
>>
>> My opinion is that we should be allowed to break it between major
>> versions if required.
>>
>> Gary.
>>
>> On Thu, Jul 22, 2010 at 11:49, Jonathan Ellis <jb...@gmail.com> wrote:
>>> How useful is this to insist on, given that 0.7 thrift api is fairly
>>> incompatible with 0.6's?  (timestamp -> Clock change being the biggest
>>> problem there)
>>>
>>> --
>>> Jonathan Ellis
>>> Project Chair, Apache Cassandra
>>> co-founder of Riptano, the source for professional Cassandra support
>>> http://riptano.com
>>>
>>
>



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of Riptano, the source for professional Cassandra support
http://riptano.com

Re: network compatibility from 0.6 to 0.7

Posted by Jonathan Ellis <jb...@gmail.com>.
On Thu, Aug 5, 2010 at 11:13 AM, Gary Dusbabek <gd...@gmail.com> wrote:
> On Thu, Aug 5, 2010 at 10:05, Jonathan Ellis <jb...@gmail.com> wrote:
>> The situation today is that network compatibility in trunk has been
>> broken without us noticing for a while now -- in CASSANDRA-956
>> (according to git annotate) we changed ColumnFamily serialization in a
>> non-backwards-compatible way.
>>
>
> 956 was all about streaming, not CF serialization.  Still, it breaks
> network compatibility with respect to streaming.  The IClock changes
> were more likely to have broken CF serialization.

In ColumnFamilySerializer the very first thing we used to read/write
the CF name, and now we read/write a boolean as to whether the CF is
null instead.  That is from r947122:

remove name field from cf and clean up. Patch by Stu Hood, reviewed by
Gary Dusbabek. CASSANDRA-956

Perhaps the issue number was a typo, but either way it is logically an
extension of the CF id changes from CASSANDRA-827 so it makes more
sense to think of that as the culprit here.

There may well be other problems deeper in as you say.

-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of Riptano, the source for professional Cassandra support
http://riptano.com

Re: network compatibility from 0.6 to 0.7

Posted by Gary Dusbabek <gd...@gmail.com>.
On Thu, Aug 5, 2010 at 10:05, Jonathan Ellis <jb...@gmail.com> wrote:
> The situation today is that network compatibility in trunk has been
> broken without us noticing for a while now -- in CASSANDRA-956
> (according to git annotate) we changed ColumnFamily serialization in a
> non-backwards-compatible way.
>

956 was all about streaming, not CF serialization.  Still, it breaks
network compatibility with respect to streaming.  The IClock changes
were more likely to have broken CF serialization.

> Given the difficulty on the client side of mixing 0.6 and 0.7, most
> sites are going to end up doing a Big Bang upgrade anyway.  So is it
> really worth a lot of effort on the network protocol side?
>

My opinion: no.  But I don't have to upgrade a huge cluster.

Gary.