[Gluster-devel] [Gluster-Maintainers] Client Server incompatibility with Gluster 4.0

Vijay Bellur vbellur at redhat.com
Thu Oct 12 15:03:49 UTC 2017


On Thu, Oct 12, 2017 at 10:22 AM, Shyam Ranganathan <srangana at redhat.com>
wrote:

> On 10/12/2017 04:25 AM, Ric Wheeler wrote:
>
>> I worry about having to update all of the clients when we have new code
>> on servers.
>>
>> Typically, for example with NFS, the client negotiates the protocol
>> version it understands and we default to the highest version the clients
>> and servers both support.
>>
>> I know that is a pain, but we should keep in mind what the standard is
>> our users are accustomed to with other protocols....
>>
>
> I concur, upgrade to 4.0, if the older clients are not compatible, would
> mean a down client(s) upgrade.
>


Thinking more about it, we could leverage the op-version infrastructure to
maintain compatibility at a cluster/volume level.  This could help by not
requiring the clients to be upgraded simultaneously with the servers.
However, as with current behavior, once a 4.0 feature that is disruptive to
3.x clients is enabled, such clients would not be able to access those
volumes with advanced capabilities.



>
> Further, rolling upgrades of the server becomes a moot point, as some
> would be a higher version in the interim and hence prevent existing clients
> to talk to the same, as our upgrade process is servers first and then
> clients.
>

I do not think we will have rolling upgrades on the server side as we would
need glusterd1 and glusterd2 to interoperate for that. From what I
understand, we will not have that interoperability. A downtime would be
needed for upgrading servers although the expectation is that upgrading the
servers would happen quickly.

Kaushal, Atin - can you please share details on how the upgrade process
would look like from a glusterd perspective?



>
> Which then essentially boils down to, stop services, upgrade everything,
> and restart the volume and the clients.
>
> I understand the additional code and reasoning that Amar has pointed out,
> but taking down time for the upgrade will introduce a lot of pain for the
> users, and hence create resistance to upgrading to 4.0 probable and in some
> cases (consider the service using the gluster volume critical) not possible.
>
> As we are about providing increased availability considering replication
> and the additional storage that it involves, down time for upgrades should
> not be a choice that we should consider, when possible.
>


Agreed.  We can and should reduce the  user pain for this upgrade. Let us
also explore ways to keep our code clean and prevent that from becoming a
spaghetti mess :-).


Regards,
Vijay


>
>> Regards,
>>
>> Ric
>>
>>
>> On Oct 12, 2017 6:30 AM, "Vijay Bellur" <vbellur at redhat.com <mailto:
>> vbellur at redhat.com>> wrote:
>>
>>
>>
>>     On Wed, Oct 11, 2017 at 5:06 AM, Amar Tumballi <atumball at redhat.com
>>     <mailto:atumball at redhat.com>> wrote:
>>
>>         Was (Re: [Gluster-devel] Proposed Protocol changes for 4.0: Need
>>         feedback.)
>>
>>         All,
>>
>>         While we are at making all the below tasks' color coding to
>>         GREEN, it would make sense to discuss 1 main thing.
>>
>>         With 4.0, we will anyways say 3.y series server nodes are not
>>         going to be compatible with 4.x servers, is it the same case
>>         with clients?
>>
>>         If yes, I am considering some changes to the current way RPC
>>         conversion is handled in protocol layer, and make it simpler a
>> bit.
>>
>>         If no, then I have to add lot of 'if..else' in existing code or
>>         extra code wherever applicable, now, to make sure we handle the
>>         compatibility better.
>>
>>         My personal opinion is, talk about incompatibility now, and plan
>>         to have smooth sail even when 5.0 lands. We are anyways coming
>>         out with GD2 (which makes servers incompatible), and gfproxy
>>         (which makes clients missing this feature in older releases),
>>         and also possible cherrypicks from upstream fuse project to
>>         utilize more features from there, so for the user, there are lot
>>         of reason to upgrade the clients.
>>
>>
>>
>>     Since we are bumping the major release number, I think it would be
>>     acceptable to have 3.x clients being not compatible with 4.x servers
>>     and vice-versa. We should ensure that accesses from incompatible
>>     clients are handled gracefully by both servers and clients.
>>
>>     Regards,
>>     Vijay
>>
>>
>>     _______________________________________________
>>     Gluster-devel mailing list
>>     Gluster-devel at gluster.org <mailto:Gluster-devel at gluster.org>
>>     http://lists.gluster.org/mailman/listinfo/gluster-devel
>>     <http://lists.gluster.org/mailman/listinfo/gluster-devel>
>>
>>
>>
>> _______________________________________________
>> Gluster-devel mailing list
>> Gluster-devel at gluster.org
>> http://lists.gluster.org/mailman/listinfo/gluster-devel
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gluster.org/pipermail/gluster-devel/attachments/20171012/4b572a4d/attachment.html>


More information about the Gluster-devel mailing list