Bug 1262197 - DHT: Few files are missing after remove-brick operation
DHT: Few files are missing after remove-brick operation
Status: CLOSED CURRENTRELEASE
Product: GlusterFS
Classification: Community
Component: distribute (Show other bugs)
3.7.5
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: bugs@gluster.org
: ZStream
Depends On: 1259750 1260051
Blocks:
  Show dependency treegraph
 
Reported: 2015-09-11 02:57 EDT by Susant Kumar Palai
Modified: 2015-10-14 06:38 EDT (History)
6 users (show)

See Also:
Fixed In Version: glusterfs-3.7.5
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1260051
Environment:
Last Closed: 2015-10-14 06:29:07 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Comment 1 Vijay Bellur 2015-09-11 03:01:21 EDT
REVIEW: http://review.gluster.org/12156 (dht/remove-brick: Avoid data loss for hard link migration) posted (#1) for review on release-3.7 by Susant Palai (spalai@redhat.com)
Comment 2 Vijay Bellur 2015-09-11 05:43:20 EDT
REVIEW: http://review.gluster.org/12156 (dht/remove-brick: Avoid data loss for hard link migration) posted (#2) for review on release-3.7 by Susant Palai (spalai@redhat.com)
Comment 3 Vijay Bellur 2015-09-11 05:48:13 EDT
REVIEW: http://review.gluster.org/12156 (dht/remove-brick: Avoid data loss for hard link migration) posted (#3) for review on release-3.7 by Susant Palai (spalai@redhat.com)
Comment 4 Vijay Bellur 2015-09-14 01:47:14 EDT
COMMIT: http://review.gluster.org/12156 committed in release-3.7 by Raghavendra G (rgowdapp@redhat.com) 
------
commit 23e522eea17e15b37d395e2005139dd3d5a9e3a1
Author: Susant Palai <spalai@redhat.com>
Date:   Fri Sep 4 05:14:05 2015 -0400

    dht/remove-brick: Avoid data loss for hard link migration
    
    Problem: If the hashed subvol of a file has reached cluster.min-free-disk,
    for a create opertaion a linkto file will be created on the hashed and
    the data file will be created on some other brick.
    
    For creation of the linkfile we populate the dictionary with linkto key
    and value as the cached subvol. After successful linkto file creation,
    the linkto-key-value pair is not deleted form the dictionary and hence,
    the data file will also have linkto xattr which points to itself.This looks
    something like this.
    
      client-0                                    client-1
    -------T file                               rwx------file
    linkto.xattr=client-1                       linkto.xattr=client-1
    
    Now coming to the data loss part. Hardlink migration highly depend on this
    linkto xattr on the data file. This value should be the new hashed subvol
    of the first hardlink encountered post fix-layout. But when it tries to
    read the linkto xattr it gets the same target as where it is sitting.
    
    Now the source and destination are same for migration. At the end of
    migration the source file is truncated and deleted, which in this case
    is the destination and also the only data file it self resulting in
    data loss.
    
    BUG: 1262197
    Change-Id: I5338a5704ac60ca9afb278977e178319266a0cc0
    Signed-off-by: Susant Palai <spalai@redhat.com>
    Reviewed-on: http://review.gluster.org/12105
    Reviewed-by: N Balachandran <nbalacha@redhat.com>
    Tested-by: NetBSD Build System <jenkins@build.gluster.org>
    Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
    Signed-off-by: Susant Palai <spalai@redhat.com>
    Reviewed-on: http://review.gluster.org/12156
    Tested-by: Gluster Build System <jenkins@build.gluster.com>
Comment 5 Pranith Kumar K 2015-10-14 06:29:07 EDT
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-glusterfs-3.7.5, please open a new bug report.

glusterfs-glusterfs-3.7.5 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://www.gluster.org/pipermail/gluster-users/2015-October/023968.html
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user
Comment 6 Pranith Kumar K 2015-10-14 06:38:10 EDT
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.5, please open a new bug report.

glusterfs-3.7.5 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://www.gluster.org/pipermail/gluster-users/2015-October/023968.html
[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.