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.

> 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* :)

-Jonathan

Reply via email to