Bug 1240183 - Renamed Files are missing after self-heal
Summary: Renamed Files are missing after self-heal
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: replicate
Version: 3.7.2
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Anuradha
QA Contact:
URL:
Whiteboard:
Depends On: 1231732 1238508
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-07-06 07:14 UTC by Anuradha
Modified: 2016-09-20 02:00 UTC (History)
7 users (show)

Fixed In Version: glusterfs-3.7.3
Doc Type: Bug Fix
Doc Text:
Clone Of: 1238508
Environment:
Last Closed: 2015-07-30 09:47:24 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Comment 1 Anand Avati 2015-07-06 07:31:42 UTC
REVIEW: http://review.gluster.org/11544 (cluster/afr : expunge first, impunge next in entry selfheal) posted (#1) for review on release-3.7 by Anuradha Talur (atalur)

Comment 2 Anand Avati 2015-07-27 07:29:22 UTC
COMMIT: http://review.gluster.org/11544 committed in release-3.7 by Pranith Kumar Karampuri (pkarampu) 
------
commit 93d8634dec1bef5fd80f8ee28a4e4e0b8115afdd
Author: Anuradha Talur <atalur>
Date:   Fri Jul 3 11:35:46 2015 +0530

    cluster/afr : expunge first, impunge next in entry selfheal
    
            Backport of: http://review.gluster.org/11498
    
    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: 1240183
    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>
    Signed-off-by: Anuradha Talur <atalur>
    Reviewed-on: http://review.gluster.org/11544
    Tested-by: NetBSD Build System <jenkins.org>

Comment 3 Kaushal 2015-07-30 09:47:24 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.3, please open a new bug report.

glusterfs-3.7.3 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://thread.gmane.org/gmane.comp.file-systems.gluster.devel/12078
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user


Note You need to log in before you can comment on or make changes to this bug.