Bug 1320377

Summary: Setting of any option using volume set fails when the clients are in older version.
Product: [Community] GlusterFS Reporter: Kaushal <kaushal>
Component: glusterdAssignee: Kaushal <kaushal>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: urgent    
Version: 3.7.9CC: amukherj, asriram, bugs, rhinduja, rhs-bugs, rwheeler, storage-doc, vbellur
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: glusterfs-3.7.10 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1004332 Environment:
Last Closed: 2016-04-19 07:00:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1004332    
Bug Blocks: 1318376    

Description Kaushal 2016-03-23 04:48:11 UTC
+++ This bug was initially created as a clone of Bug #1004332 +++

+++ This bug was initially created as a clone of Bug #1002871 +++

Describe the issue: 
===================

When Servers are in higher version than client the volume set operation fails, this was observed when the servers were in bigbend(3.4.0) base and client was in anshi(3.3.0) base. In field customers can have both 3.4.0 and 3.3.0 client accessing the same RHS servers(3.4.0)


Server: glusterfs-server-3.4.0.24rhs-1.el6rhs.x86_64 and 
client: glusterfs-3.3.0.11rhs-1.el6.x86_64

Try to set any volume option, it fails with below message. 

[root@rhs-client11 ~]# gluster volume set help | grep client-log
Option: diagnostics.client-log-level
[root@rhs-client11 ~]# gluster volume set vol-dr client-log-level DEBUG
volume set: failed: One or more connected clients cannot support the feature being set. These clients need to be upgraded or disconnected before running this command again
[root@rhs-client11 ~]# 
[root@rhs-client11 ~]# gluster volume set vol-dr cluster.metadata-self-heal off
volume set: failed: One or more connected clients cannot support the feature being set. These clients need to be upgraded or disconnected before running this command again
[root@rhs-client11 ~]# gluster volume set vol-dr cluster.data-self-heal off
volume set: failed: One or more connected clients cannot support the feature being set. These clients need to be upgraded or disconnected before running this command again
[root@rhs-client11 ~]# 
[root@rhs-client11 ~]# gluster volume set vol-dr cluster.entry-self-heal off
volume set: failed: One or more connected clients cannot support the feature being set. These clients need to be upgraded or disconnected before running this command again
[root@rhs-client11 ~]# 

The above behaviour needs to be documented.


--- Additional comment from Divya on 2013-09-03 14:31:35 IST ---

Amar,

Kindly review and sign-off the following known issue:

Issue: When Red Hat Storage Servers are of higher version and one of the client is of glusterfs-3.3.0.11rhs-1.el6.x86_64 or older version, the Volume Set operation fails.

Work Around: Upgrade your client to the latest version and ensure that all the clients are of same version.

Also, let me know if I have to clone this bug to create an eng bug? 

Thanks,
Divya

--- Additional comment from Anand Avati on 2013-09-04 18:10:39 IST ---

REVIEW: http://review.gluster.org/5786 (glusterd: Fix connected clients check during 'volume set') posted (#1) for review on master by Kaushal M (kaushal)

--- Additional comment from Anand Avati on 2013-09-04 19:01:12 IST ---

REVIEW: http://review.gluster.org/5786 (glusterd: Fix connected clients check during 'volume set') posted (#2) for review on master by Kaushal M (kaushal)

--- Additional comment from Anand Avati on 2013-09-06 12:35:12 IST ---

REVIEW: http://review.gluster.org/5829 (glusterd: Fix connected clients check during 'volume set') posted (#1) for review on release-3.4 by Kaushal M (kaushal)

--- Additional comment from Anand Avati on 2015-05-26 17:07:56 IST ---

REVIEW: http://review.gluster.org/5786 (glusterd: Fix connected clients check during 'volume set') posted (#3) for review on master by Kaushal M (kaushal)

--- Additional comment from Vijay Bellur on 2015-11-21 19:33:39 IST ---

REVIEW: http://review.gluster.org/5786 (glusterd: Fix connected clients check during 'volume set') posted (#4) for review on master by Kaushal M (kaushal)

--- Additional comment from Vijay Bellur on 2015-11-23 23:26:05 IST ---

REVIEW: http://review.gluster.org/5786 (glusterd: Fix connected clients check during 'volume set') posted (#5) for review on master by Vijay Bellur (vbellur)

--- Additional comment from Vijay Bellur on 2015-11-23 23:26:24 IST ---

REVIEW: http://review.gluster.org/5786 (glusterd: Fix connected clients check during 'volume set') posted (#6) for review on master by Vijay Bellur (vbellur)

--- Additional comment from Vijay Bellur on 2016-01-27 20:26:33 IST ---

REVIEW: http://review.gluster.org/5786 (glusterd: Fix connected clients check during 'volume set') posted (#7) for review on master by Kaushal M (kaushal)

--- Additional comment from Vijay Bellur on 2016-03-04 12:27:12 IST ---

REVIEW: http://review.gluster.org/5786 (glusterd: Fix connected clients check during 'volume set') posted (#8) for review on master by Kaushal M (kaushal)

--- Additional comment from Vijay Bellur on 2016-03-22 12:48:55 IST ---

REVIEW: http://review.gluster.org/5786 (glusterd: Fix connected clients check during 'volume set') posted (#9) for review on master by Atin Mukherjee (amukherj)

--- Additional comment from Vijay Bellur on 2016-03-22 17:12:06 IST ---

COMMIT: http://review.gluster.org/5786 committed in master by Atin Mukherjee (amukherj) 
------
commit 2eb8758bbc88b182bf0e33506b8352cd82c7ec2e
Author: Kaushal M <kaushal>
Date:   Wed Sep 4 16:19:01 2013 +0530

    glusterd: Fix connected clients check during 'volume set'
    
    Use the volume's newly calulatedclient-op-version for the connected
    clients check. This prevents rejection of server options of higher
    op-version when clients of lower op-version are connected. Also,
    initialize the variables of the newly calculated volume op-version and
    client-op-version with the current values, instead of the cluster
    op-version.
    
    Change-Id: Ieb36f97c677a5457feba54bef20e154c0456e70e
    BUG: 1004332
    Signed-off-by: Kaushal M <kaushal>
    Reviewed-on: http://review.gluster.org/5786
    Tested-by: Atin Mukherjee <amukherj>
    Smoke: Gluster Build System <jenkins.com>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    Reviewed-by: Atin Mukherjee <amukherj>
    CentOS-regression: Gluster Build System <jenkins.com>

Comment 1 Vijay Bellur 2016-03-23 04:57:46 UTC
REVIEW: http://review.gluster.org/13814 (glusterd: Fix connected clients check during 'volume set') posted (#1) for review on release-3.7 by Kaushal M (kaushal)

Comment 2 Vijay Bellur 2016-03-23 10:15:15 UTC
COMMIT: http://review.gluster.org/13814 committed in release-3.7 by Atin Mukherjee (amukherj) 
------
commit 28f5829781dd7c4b16470c1dc4e748d24ace4616
Author: Kaushal M <kaushal>
Date:   Wed Sep 4 16:19:01 2013 +0530

    glusterd: Fix connected clients check during 'volume set'
    
      Backport of 2eb8758 from master
    
    Use the volume's newly calulatedclient-op-version for the connected
    clients check. This prevents rejection of server options of higher
    op-version when clients of lower op-version are connected. Also,
    initialize the variables of the newly calculated volume op-version and
    client-op-version with the current values, instead of the cluster
    op-version.
    
    Change-Id: Ieb36f97c677a5457feba54bef20e154c0456e70e
    BUG: 1320377
    Signed-off-by: Kaushal M <kaushal>
    Reviewed-originally-on: http://review.gluster.org/5786
    Reviewed-on: http://review.gluster.org/13814
    Tested-by: Atin Mukherjee <amukherj>
    Smoke: Gluster Build System <jenkins.com>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.com>
    Reviewed-by: Atin Mukherjee <amukherj>

Comment 3 Kaushal 2016-04-19 07:00:49 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.7.10, please open a new bug report.

glusterfs-3.7.10 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] https://www.gluster.org/pipermail/gluster-users/2016-April/026164.html
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user