Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1468279

Summary: metadata heal not happening despite having an active sink
Product: [Community] GlusterFS Reporter: Ravishankar N <ravishankar>
Component: replicateAssignee: Ravishankar N <ravishankar>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: mainlineCC: bugs, ksubrahm
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.12.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1471611 1471612 1471613 (view as bug list) Environment:
Last Closed: 2017-08-23 10:07:02 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:    
Bug Blocks: 1471611, 1471612, 1471613    

Description Ravishankar N 2017-07-06 14:33:23 UTC
Description of problem:

In a replica 3 volume, afr pending xattrs for metadata on 3 bricks are as follows:

Brick1- C1=1
Brick2- C0=1
Brick3- C0=0, C1=0

With these xattrs, __afr_selfheal_metadata_prepare() returned zero sinks and heal was not happening.

How to recreate:
1. Kill B1, do metadata modification operation on a file (say setfattr).
2. Kill B2, bring up B1, let metadata heal happen from B3 to B1.
3. Again do metadata modification operation on a file.
4. Kill B1, bring up B2, let metadata heal happen from B3 to B2.
5. Bring up B1 again. All bricks are up now.
6. Heal info never comes to zero.

Comment 1 Worker Ant 2017-07-06 14:33:59 UTC
REVIEW: https://review.gluster.org/17717 (afr: mark non sources as sinks in metadata heal) posted (#1) for review on master by Ravishankar N (ravishankar)

Comment 2 Worker Ant 2017-07-06 17:00:59 UTC
REVIEW: https://review.gluster.org/17717 (afr: mark non sources as sinks in metadata heal) posted (#2) for review on master by Ravishankar N (ravishankar)

Comment 3 Worker Ant 2017-07-07 05:58:16 UTC
REVIEW: https://review.gluster.org/17717 (afr: mark non sources as sinks in metadata heal) posted (#3) for review on master by Ravishankar N (ravishankar)

Comment 4 Worker Ant 2017-07-13 07:19:17 UTC
REVIEW: https://review.gluster.org/17717 (afr: mark non sources as sinks in metadata heal) posted (#4) for review on master by Ravishankar N (ravishankar)

Comment 5 Worker Ant 2017-07-13 10:45:57 UTC
REVIEW: https://review.gluster.org/17717 (afr: mark non sources as sinks in metadata heal) posted (#5) for review on master by Ravishankar N (ravishankar)

Comment 6 Worker Ant 2017-07-13 11:53:39 UTC
REVIEW: https://review.gluster.org/17717 (afr: mark non sources as sinks in metadata heal) posted (#6) for review on master by Ravishankar N (ravishankar)

Comment 7 Worker Ant 2017-07-13 17:23:02 UTC
COMMIT: https://review.gluster.org/17717 committed in master by Pranith Kumar Karampuri (pkarampu) 
------
commit 77c1ed5fd299914e91ff034d78ef6e3600b9151c
Author: Ravishankar N <ravishankar>
Date:   Thu Jul 6 19:49:47 2017 +0530

    afr: mark non sources as sinks in metadata heal
    
    Problem:
    In a 3 way replica, when the source brick does not have pending xattrs
    for the sinks, but the 2 sinks blame each other, metadata heal was not
    happpening because we were not setting all non-sources as sinks.
    
    Fix: Mark all non-sources as sinks, like it is done in data and entry
    heal.
    
    Change-Id: I534978940f5087302e307fcc810a48ffe898ce08
    BUG: 1468279
    Signed-off-by: Ravishankar N <ravishankar>
    Reviewed-on: https://review.gluster.org/17717
    Smoke: Gluster Build System <jenkins.org>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu>
    CentOS-regression: Gluster Build System <jenkins.org>

Comment 8 Shyamsundar 2017-09-05 17:36:29 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.12.0, please open a new bug report.

glusterfs-3.12.0 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/announce/2017-September/000082.html
[2] https://www.gluster.org/pipermail/gluster-users/