Bug 1238508

Summary: Renamed Files are missing after self-heal
Product: [Community] GlusterFS Reporter: Anuradha <atalur>
Component: replicateAssignee: Anuradha <atalur>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: mainlineCC: annair, bugs, gluster-bugs, nsathyan, rcyriac, smohan, spandura
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.8rc2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1231732
: 1240183 (view as bug list) Environment:
Last Closed: 2016-06-16 13:18:34 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: 1231732    
Bug Blocks: 1240183    

Comment 1 Anand Avati 2015-07-02 06:33:23 UTC
REVIEW: http://review.gluster.org/11498 (cluster/afr : expunge first, impunge next in entry selfheal) posted (#1) for review on master by Anuradha Talur (atalur)

Comment 2 Anand Avati 2015-07-02 06:39:56 UTC
REVIEW: http://review.gluster.org/11498 (cluster/afr : expunge first, impunge next in entry selfheal) posted (#2) for review on master by Anuradha Talur (atalur)

Comment 3 Anand Avati 2015-07-02 07:23:21 UTC
REVIEW: http://review.gluster.org/11498 (cluster/afr : expunge first, impunge next in entry selfheal) posted (#3) for review on master by Anuradha Talur (atalur)

Comment 4 Anand Avati 2015-07-02 12:08:41 UTC
REVIEW: http://review.gluster.org/11498 (cluster/afr : expunge first, impunge next in entry selfheal) posted (#4) for review on master by Anuradha Talur (atalur)

Comment 5 Anand Avati 2015-07-03 06:14:06 UTC
REVIEW: http://review.gluster.org/11498 (cluster/afr : expunge first, impunge next in entry selfheal) posted (#5) for review on master by Anuradha Talur (atalur)

Comment 6 Anand Avati 2015-07-06 07:11:51 UTC
COMMIT: http://review.gluster.org/11498 committed in master by Pranith Kumar Karampuri (pkarampu) 
------
commit 214101394bdea4ab57b8704467f450df4adbb8f6
Author: Anuradha Talur <atalur>
Date:   Fri Jul 3 11:35:46 2015 +0530

    cluster/afr : expunge first, impunge next in entry selfheal
    
    When entry self-heals are performed, the files/directories
    that are to be expunged should be removed first and then
    impunge should be done.
    
    Consider the following scenario :
    A volume with 2 bricks : b0 and b1.
    1) With following hierarchy on both bricks:
    olddir
    |__ oldfile
    
    2) Bring down b1 and do 'mv olddir newdir'.
    
    3) Bring up b1 and self-heal.
    
    4) Without patch, during self-heal the events occur in
    following order,
            a) Creation of newdir on the sink brick. Notice that
    gfid of olddir and newdir are same. As a result of which
    gfid-link file in .glusterfs directory still points to olddir
    and not to newdir.
    
            b) Deletion of olddir on the sink brick. As a part of
    this deletion, the gfid link file is also deleted. Now, there
    is no link file pointing to newdir.
    
    5) Files under newdir will not get listed as part of readdir.
    
    To tackle this kind of scenario, an expunge should be done first
    and impunge later; which is the purpose of this patch.
    
    Change-Id: Idc8546f652adf11a13784ff989077cf79986bbd5
    BUG: 1238508
    Signed-off-by: Anuradha Talur <atalur>
    Reviewed-on: http://review.gluster.org/11498
    Reviewed-by: Ravishankar N <ravishankar>
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Krutika Dhananjay <kdhananj>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu>

Comment 7 Anand Avati 2015-07-07 06:48:19 UTC
REVIEW: http://review.gluster.org/11556 (tests: Fix ./tests/bugs/replicate/bug-1238508-self-heal.t) posted (#1) for review on master by Ravishankar N (ravishankar)

Comment 8 Nagaprasad Sathyanarayana 2015-10-25 15:01:28 UTC
Fix for this BZ is already present in a GlusterFS release. You can find clone of this BZ, fixed in a GlusterFS release and closed. Hence closing this mainline BZ as well.

Comment 9 Niels de Vos 2016-06-16 13:18:34 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.8.0, please open a new bug report.

glusterfs-3.8.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://blog.gluster.org/2016/06/glusterfs-3-8-released/
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user