Bug 1330545

Summary: setting lower op-version should throw failure message
Product: [Community] GlusterFS Reporter: Atin Mukherjee <amukherj>
Component: glusterdAssignee: Atin Mukherjee <amukherj>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.7.11CC: amukherj, bugs, mzywusko, nlevinki, rhinduja, sasundar, smohan, vbellur
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: glusterfs-3.7.12 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1315186 Environment:
Last Closed: 2016-06-28 12:15:11 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: 1101702, 1315186    
Bug Blocks: 1315562    

Description Atin Mukherjee 2016-04-26 12:28:11 UTC
+++ This bug was initially created as a clone of Bug #1315186 +++

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

Description of problem:
-----------------------
op-version option being introduced with Gluster 3.6 to bump-up the op-version.
So the post upgrade, user can bump up the op-version.

While testing the negative case for this op-version, it has the following behavior,
1. If op-version is set to one higher than it operates, the op-version is modified and CLI returns success

2. If op-version is set to lower value, the op-version is not modified but still CLI returns success

Version-Release number of selected component (if applicable):
--------------------------------------------------------------
 mainline

How reproducible:
-----------------
Always

Steps to Reproduce:
-------------------
1. Set op-version to lower value

Actual results:
---------------
op-version was not modified but CLI returns success

Expected results:
-----------------
CLI should return failure as the option was not modified ( as op-version could only be incremented and never decremented )

--- Additional comment from Vijay Bellur on 2016-03-07 03:16:26 EST ---

REVIEW: http://review.gluster.org/13622 (glusterd: avoid setting op-version lower then current cluster op-version) posted (#1) for review on master by Gaurav Kumar Garg (ggarg)

--- Additional comment from Vijay Bellur on 2016-03-07 06:00:26 EST ---

REVIEW: http://review.gluster.org/13622 (glusterd: avoid setting op-version lower than current cluster op-version) posted (#2) for review on master by Gaurav Kumar Garg (ggarg)

--- Additional comment from Vijay Bellur on 2016-03-07 06:34:22 EST ---

REVIEW: http://review.gluster.org/13622 (glusterd: avoid setting op-version lower than current cluster op-version) posted (#3) for review on master by Gaurav Kumar Garg (ggarg)

--- Additional comment from Vijay Bellur on 2016-03-07 23:55:03 EST ---

COMMIT: http://review.gluster.org/13622 committed in master by Atin Mukherjee (amukherj) 
------
commit 2d87a981657ee23d00c20813deddeb320e0afa8f
Author: Gaurav Kumar Garg <garg.gaurav52>
Date:   Mon Mar 7 13:37:31 2016 +0530

    glusterd: avoid setting op-version lower than current cluster op-version
    
    Currently glusterd allow setting a cluster op-version which is lower than
    current cluster op-version. Though command is successful but it does not
    set that lower op-version.
    
    With this fix it will return error message "Required op-version
    (requested op-version) should not be lower than current cluster
    op-version (current cluster op-version)"
    
    Change-Id: Ia5b61858ee22a5a26721ec12ab12ff48e1a40c82
    BUG: 1315186
    Signed-off-by: Gaurav Kumar Garg <ggarg>
    Reviewed-on: http://review.gluster.org/13622
    Smoke: Gluster Build System <jenkins.com>
    CentOS-regression: Gluster Build System <jenkins.com>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    Reviewed-by: Atin Mukherjee <amukherj>

--- Additional comment from Atin Mukherjee on 2016-04-26 03:25:15 EDT ---

The functionality in master is broken now due to commit 2eb8758, assigning it back.

--- Additional comment from Vijay Bellur on 2016-04-26 03:25:48 EDT ---

REVIEW: http://review.gluster.org/14069 (glusterd: fix validation of lower op-version check in volume set) posted (#1) for review on master by Atin Mukherjee (amukherj)

--- Additional comment from Vijay Bellur on 2016-04-26 08:26:59 EDT ---

COMMIT: http://review.gluster.org/14069 committed in master by Kaushal M (kaushal) 
------
commit f93761c547c39fad20f9aa96d4baf2641500b9a0
Author: Atin Mukherjee <amukherj>
Date:   Tue Apr 26 12:46:18 2016 +0530

    glusterd: fix validation of lower op-version check in volume set
    
    Commit 2d87a98 introduced a validation to fail lowering down the
    cluster.op-version. Commit 2eb8758 actually changed the variable value from
    cluster's op-version to volume's op-version which resulted the logic go for a
    toss.
    
    Change-Id: I70df32b75c3a3fe47dc840c4a655059e5b124bca
    BUG: 1315186
    Signed-off-by: Atin Mukherjee <amukherj>
    Reviewed-on: http://review.gluster.org/14069
    Smoke: Gluster Build System <jenkins.com>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.com>
    Reviewed-by: Kaushal M <kaushal>

Comment 1 Vijay Bellur 2016-04-26 12:28:54 UTC
REVIEW: http://review.gluster.org/14077 (glusterd: fix validation of lower op-version check in volume set) posted (#1) for review on release-3.7 by Atin Mukherjee (amukherj)

Comment 2 Vijay Bellur 2016-04-27 05:04:10 UTC
COMMIT: http://review.gluster.org/14077 committed in release-3.7 by Atin Mukherjee (amukherj) 
------
commit 57f66ea86a2fbf61df34b3d6854f639f437cc12b
Author: Atin Mukherjee <amukherj>
Date:   Tue Apr 26 12:46:18 2016 +0530

    glusterd: fix validation of lower op-version check in volume set
    
    Commit 2d87a98 introduced a validation to fail lowering down the
    cluster.op-version. Commit 2eb8758 actually changed the variable value from
    cluster's op-version to volume's op-version which resulted the logic go for a
    toss.
    
    Change-Id: I70df32b75c3a3fe47dc840c4a655059e5b124bca
    BUG: 1330545
    Signed-off-by: Atin Mukherjee <amukherj>
    Reviewed-on: http://review.gluster.org/14069
    Smoke: Gluster Build System <jenkins.com>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.com>
    Reviewed-by: Kaushal M <kaushal>
    Reviewed-on: http://review.gluster.org/14077

Comment 3 Kaushal 2016-06-28 12:15:11 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.12, please open a new bug report.

glusterfs-3.7.12 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-devel/2016-June/049918.html
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user