Bug 1434296

Summary: [Disperse] Metadata version is not healing when a brick is down
Product: [Community] GlusterFS Reporter: Sunil Kumar Acharya <sheggodu>
Component: disperseAssignee: Sunil Kumar Acharya <sheggodu>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 3.10CC: aspandey, bugs, jahernan, pkarampu, srangana
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.10.1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1425703 Environment:
Last Closed: 2017-04-05 00:02:14 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: 1425703    
Bug Blocks: 1427207    

Description Sunil Kumar Acharya 2017-03-21 08:27:03 UTC
+++ This bug was initially created as a clone of Bug #1425703 +++

Description of problem:

When a brick-1 is down and we create a file on mount point, index entries will be created. Now when this brick is UP and the other brick goes down, heal starts on the bric-1 and it heal all the data and also its version. However on the metadata version on the brick-1 is not getting healed and remains 0




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

[root@apandey glusterfs]# gluster --version
glusterfs 3.11dev
Repository revision: git://git.gluster.org/glusterfs.git
Copyright (c) 2006-2016 Red Hat, Inc. <https://www.gluster.org/>
GlusterFS comes with ABSOLUTELY NO WARRANTY.
It is licensed to you under your choice of the GNU Lesser
General Public License, version 3 or any later version (LGPLv3
or later), or the GNU General Public License, version 2 (GPLv2),
in all cases as published by the Free Software Foundation

How reproducible:
100%

Steps to Reproduce:
1. Create a (4+2) volume and mount it.
2. Kill a brick, brick-1, and create 10 files on mount point.
3. Start the volume using force and kill other brick, brick-2, immediately.      
4. start index heal and give enough time to heal.
5. At this point all the files on brick-1 should have correct version and size as with other 4 UP bricks and all the files should be healed.

6. Check trusted.ec.{version,size}, it should be same on all the 5 up bricks

Actual results:
Step 6 shows metadata version on brick-1 has not been healed.

Expected results:
Step 6 should show metadata version on brick-1 has been healed and similar to other 4 good UP bricks.

Additional info:

--- Additional comment from Worker Ant on 2017-02-27 05:27:27 EST ---

REVIEW: https://review.gluster.org/16772 (cluster/ec: Metadata healing fails to update the version) posted (#1) for review on master by Sunil Kumar Acharya (sheggodu)

--- Additional comment from Worker Ant on 2017-03-07 07:57:29 EST ---

REVIEW: https://review.gluster.org/16772 (cluster/ec: Metadata healing fails to update the version) posted (#2) for review on master by Sunil Kumar Acharya (sheggodu)

--- Additional comment from Worker Ant on 2017-03-15 10:29:05 EDT ---

REVIEW: https://review.gluster.org/16772 (cluster/ec: Metadata healing fails to update the version) posted (#3) for review on master by Sunil Kumar Acharya (sheggodu)

--- Additional comment from Worker Ant on 2017-03-16 06:16:41 EDT ---

REVIEW: https://review.gluster.org/16772 (cluster/ec: Metadata healing fails to update the version) posted (#4) for review on master by Sunil Kumar Acharya (sheggodu)

--- Additional comment from Worker Ant on 2017-03-16 07:34:28 EDT ---

REVIEW: https://review.gluster.org/16772 (cluster/ec: Metadata healing fails to update the version) posted (#5) for review on master by Sunil Kumar Acharya (sheggodu)

--- Additional comment from Worker Ant on 2017-03-17 00:18:27 EDT ---

REVIEW: https://review.gluster.org/16772 (cluster/ec: Metadata healing fails to update the version) posted (#6) for review on master by Sunil Kumar Acharya (sheggodu)

--- Additional comment from Worker Ant on 2017-03-17 02:03:35 EDT ---

REVIEW: https://review.gluster.org/16772 (cluster/ec: Metadata healing fails to update the version) posted (#7) for review on master by Sunil Kumar Acharya (sheggodu)

--- Additional comment from Worker Ant on 2017-03-20 09:45:31 EDT ---

REVIEW: https://review.gluster.org/16772 (cluster/ec: Metadata healing fails to update the version) posted (#8) for review on master by Sunil Kumar Acharya (sheggodu)

--- Additional comment from Worker Ant on 2017-03-21 03:08:28 EDT ---

COMMIT: https://review.gluster.org/16772 committed in master by Xavier Hernandez (xhernandez) 
------
commit 0c2253942dd0e6176918a7d530e56053a9f26e6d
Author: Sunil Kumar Acharya <sheggodu>
Date:   Mon Feb 27 15:35:17 2017 +0530

    cluster/ec: Metadata healing fails to update the version
    
    During meatadata heal, we were not updating the version
    though all the inode attributes were in sync.
    
    Updated the code to adjust version when all the inode
    attributes are in sync.
    
    BUG: 1425703
    Change-Id: I6723be3c5f748b286d4efdaf3c71e9d2087c7235
    Signed-off-by: Sunil Kumar Acharya <sheggodu>
    Reviewed-on: https://review.gluster.org/16772
    Smoke: Gluster Build System <jenkins.org>
    Reviewed-by: Xavier Hernandez <xhernandez>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu>
    CentOS-regression: Gluster Build System <jenkins.org>

Comment 1 Worker Ant 2017-03-21 08:47:35 UTC
REVIEW: https://review.gluster.org/16932 (cluster/ec: Metadata healing fails to update the version) posted (#1) for review on release-3.10 by Sunil Kumar Acharya (sheggodu)

Comment 2 Worker Ant 2017-03-24 13:35:20 UTC
COMMIT: https://review.gluster.org/16932 committed in release-3.10 by Shyamsundar Ranganathan (srangana) 
------
commit b1b4b1bc4778bbad955bb0039e3f10b7d7536ea8
Author: Sunil Kumar Acharya <sheggodu>
Date:   Mon Feb 27 15:35:17 2017 +0530

    cluster/ec: Metadata healing fails to update the version
    
    During meatadata heal, we were not updating the version
    though all the inode attributes were in sync.
    
    Updated the code to adjust version when all the inode
    attributes are in sync.
    
    >BUG: 1425703
    >Change-Id: I6723be3c5f748b286d4efdaf3c71e9d2087c7235
    >Signed-off-by: Sunil Kumar Acharya <sheggodu>
    >Reviewed-on: https://review.gluster.org/16772
    >Smoke: Gluster Build System <jenkins.org>
    >Reviewed-by: Xavier Hernandez <xhernandez>
    >NetBSD-regression: NetBSD Build System <jenkins.org>
    >Reviewed-by: Pranith Kumar Karampuri <pkarampu>
    >CentOS-regression: Gluster Build System <jenkins.org>
    
    BUG: 1434296
    Change-Id: I07fe126ebb7dac0b0de0f41cae139790e7eb4b37
    Signed-off-by: Sunil Kumar Acharya <sheggodu>
    Reviewed-on: https://review.gluster.org/16932
    Smoke: Gluster Build System <jenkins.org>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.org>
    Reviewed-by: Xavier Hernandez <xhernandez>

Comment 3 Shyamsundar 2017-04-05 00:02:14 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.10.1, please open a new bug report.

glusterfs-3.10.1 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] http://lists.gluster.org/pipermail/gluster-users/2017-April/030494.html
[2] https://www.gluster.org/pipermail/gluster-users/