Re: [Gluster-Maintainers] Client Server incompatibility with Gluster 4.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Thu, Oct 12, 2017 at 10:22 AM, Shyam Ranganathan <srangana@xxxxxxxxxx> 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@xxxxxxxxxx <mailto:vbellur@xxxxxxxxxx>> wrote:



    On Wed, Oct 11, 2017 at 5:06 AM, Amar Tumballi <atumball@xxxxxxxxxx
    <mailto:atumball@xxxxxxxxxx>> wrote:

        Was (Re: 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@xxxxxxxxxxx <mailto:Gluster-devel@gluster.org>
    http://lists.gluster.org/mailman/listinfo/gluster-devel
    <http://lists.gluster.org/mailman/listinfo/gluster-devel>



_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
http://lists.gluster.org/mailman/listinfo/gluster-devel


_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
http://lists.gluster.org/mailman/listinfo/gluster-devel

[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux