Bug 1467269

Summary: Heal info shows incorrect status
Product: [Community] GlusterFS Reporter: Ravishankar N <ravishankar>
Component: replicateAssignee: Ravishankar N <ravishankar>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 3.10CC: bugs, ksubrahm
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.10.4 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1318895 Environment:
Last Closed: 2017-08-23 10:23:04 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: 1318895    
Bug Blocks: 1457558, 1463964, 1467268    

Description Ravishankar N 2017-07-03 09:50:24 UTC
+++ This bug was initially created as a clone of Bug #1318895 +++

Description of problem:

1.Create a file in gfid-split brain on root of the volume.
2.'gluster vol heal volname info` shows '/' as "Possibly undergoing heal" instead of "Is in split-brain"
3.`gluster v heal volname info split-brain` shows zero entries.

--- Additional comment from Vijay Bellur on 2016-03-18 01:52:19 EDT ---

REVIEW: http://review.gluster.org/13772 (afr: Detect split-brain during afr_selfheal_unlocked_inspect) posted (#1) for review on master by Ravishankar N (ravishankar)

--- Additional comment from Mike McCune on 2016-03-28 19:24:30 EDT ---

This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune with any questions

--- Additional comment from Worker Ant on 2017-06-25 12:25:15 EDT ---

REVIEW: https://review.gluster.org/13772 (glfsheal: prevent background self-heals) posted (#2) for review on master by Ravishankar N (ravishankar)

--- Additional comment from Worker Ant on 2017-06-30 07:08:37 EDT ---

COMMIT: https://review.gluster.org/13772 committed in master by Jeff Darcy (jeff.us) 
------
commit b4db625d0ccb4fdc6537ed9f6e8ebeaffd1c4873
Author: Ravishankar N <ravishankar>
Date:   Sun Jun 25 21:50:09 2017 +0530

    glfsheal: prevent background self-heals
    
    Problem:
    For a file in gfid split-brain, the parent directory ('/' during
    testing) was detected as possibly undergoing heal instead of split-brain
    in `heal-info` output. Also, it was not being displayed in `info
    split-brain` output for the same reason. The problem was that when `glfsheal`
    was run, lookup on '/' triggered a background self-heal due to which processing
    of '/' during `heal info` failed to acquire locks with errno=EAGAIN.
    
    Fix:
    Set background-self-heal-count to zero while launching glfsheal.
    
    Change-Id: I153a7c75af71f213a4eefacf504a0f9806c528a5
    BUG: 1318895
    Signed-off-by: Ravishankar N <ravishankar>
    Reviewed-on: https://review.gluster.org/13772
    CentOS-regression: Gluster Build System <jenkins.org>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    Smoke: Gluster Build System <jenkins.org>
    Reviewed-by: Jeff Darcy <jeff.us>

Comment 1 Worker Ant 2017-07-03 09:51:03 UTC
REVIEW: https://review.gluster.org/17676 (glfsheal: prevent background self-heals) posted (#1) for review on release-3.10 by Ravishankar N (ravishankar)

Comment 2 Worker Ant 2017-07-04 14:40:14 UTC
COMMIT: https://review.gluster.org/17676 committed in release-3.10 by Raghavendra Talur (rtalur) 
------
commit b582c9a28cc81a593fbedc8fba7b18ae3095e11e
Author: Ravishankar N <ravishankar>
Date:   Sun Jun 25 21:50:09 2017 +0530

    glfsheal: prevent background self-heals
    
    Problem:
    For a file in gfid split-brain, the parent directory ('/' during
    testing) was detected as possibly undergoing heal instead of split-brain
    in `heal-info` output. Also, it was not being displayed in `info
    split-brain` output for the same reason. The problem was that when `glfsheal`
    was run, lookup on '/' triggered a background self-heal due to which processing
    of '/' during `heal info` failed to acquire locks with errno=EAGAIN.
    
    Fix:
    Set background-self-heal-count to zero while launching glfsheal.
    
    > Reviewed-on: https://review.gluster.org/13772
    > CentOS-regression: Gluster Build System <jenkins.org>
    > NetBSD-regression: NetBSD Build System <jenkins.org>
    > Smoke: Gluster Build System <jenkins.org>
    > Reviewed-by: Jeff Darcy <jeff.us>
    (cherry picked from commit b4db625d0ccb4fdc6537ed9f6e8ebeaffd1c4873)
    
    Change-Id: I153a7c75af71f213a4eefacf504a0f9806c528a5
    BUG: 1467269
    Signed-off-by: Ravishankar N <ravishankar>
    Reviewed-on: https://review.gluster.org/17676
    Smoke: Gluster Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.org>
    Reviewed-by: Raghavendra Talur <rtalur>