On Mon, Jan 11, 2010 at 10:15 AM, Jonathan Ellis <jbel...@gmail.com> wrote:
> On Mon, Jan 11, 2010 at 12:03 PM, Ryan King <r...@twitter.com> wrote:
>> Both of the above are fine. I think we could even tolerate having to
>> run an upgrade tool with a node, as long as we can do it one at a time
>> and as long as...
>>
>>>  (3) network compatibility (from one cluster node to another): may
>>> change.  If it does, we will notify you in NEWS.txt that you need to
>>> upgrade the whole cluster at once, as was the case for 0.4 -> 0.5.
>>
>> ...the network compat doesn't change at the same time. If both the
>> disk format and network protocol change in the same release, we can't
>> easy do a rolling restart/upgrade.
>>
>> In general, doing full cluster upgrades at once is going to be
>> prohibitively difficult for us. In addition to the disruption it would
>> cause for clients, we wouldn't want to throw away all of our
>> in-process caches at once.
>
> I'd be comfortable committing to not breaking net compatibility in the
> same release as one that needs an upgrade tool to run on the data.  I
> don't think we can freeze the network protocol entirely yet.

Good.

>> If we want the flexibility of changing the internal network protocol,
>> we should move towards an rpc framework that can tolerate upgrades.
>
> Thrift is supposed to tolerate upgrades... *cough* :)

*cough* Avro *cough*.

-ryan

Reply via email to