Bug 1134691

Summary: Need ability to heal mismatching user extended attributes without any changelogs
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, gluster-bugs, pkarampu
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.7.0 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1078061
: 1144274 (view as bug list) Environment:
Last Closed: 2015-05-14 17:27:24 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: 1078061    
Bug Blocks: 1144274    

Description Ravishankar N 2014-08-28 06:25:03 UTC
+++ This bug was initially created as a clone of Bug #1078061 +++

Description of problem:

For snapshot design it was decided that frequent operations like 'cp -a <large-dir>' should not pause while taking snapshots. This can lead to metadata/xattr mismatches without any afr changelogs because those fops are not going to be blocked while taking snapshots on different bricks. Afr at the time of lookup detects metadata mismatches in stat structures and initiates a self-heal. But if there are any xattr mismatches between two replicas then there is no capability at the moment to detect and heal them. This enhancement tracks the changes required to achieve this change.

For afr to detect there are mismatches in xattrs, it should be able to query i.e. listxattr in lookup itself, to avoid extra over the network listxattr call latencies.
This requires changes in posix xlator.

Afr should use this feature in posix to 'listxattr' and see if there are any mismatches and trigger self-heals on that file probably at the time of fresh-lookup. This behaviour can be exposed in volumes that are exported as part of snapshot.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Ravishankar N 2014-08-28 06:27:22 UTC
Note: The bug from which this was cloned contained fixes for afr-v1 (which is the version of AFR in release-3.5 branch). Cloned the bug to submit the relevant fixes for afr-v2 (which is the version of AFR in the master branch.)

Comment 2 Anand Avati 2014-08-28 06:28:29 UTC
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#1) for review on master by Ravishankar N (ravishankar)

Comment 3 Anand Avati 2014-08-29 04:35:48 UTC
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#2) for review on master by Ravishankar N (ravishankar)

Comment 4 Anand Avati 2014-08-29 05:22:43 UTC
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#3) for review on master by Ravishankar N (ravishankar)

Comment 5 Anand Avati 2014-09-02 13:49:16 UTC
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#4) for review on master by Ravishankar N (ravishankar)

Comment 6 Anand Avati 2014-09-03 10:51:47 UTC
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#5) for review on master by Ravishankar N (ravishankar)

Comment 7 Anand Avati 2014-09-04 05:59:21 UTC
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#6) for review on master by Ravishankar N (ravishankar)

Comment 8 Anand Avati 2014-09-04 06:50:04 UTC
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#7) for review on master by Ravishankar N (ravishankar)

Comment 9 Anand Avati 2014-09-05 09:57:26 UTC
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#8) for review on master by Ravishankar N (ravishankar)

Comment 10 Anand Avati 2014-09-05 13:04:33 UTC
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#9) for review on master by Ravishankar N (ravishankar)

Comment 11 Anand Avati 2014-09-06 05:19:38 UTC
COMMIT: http://review.gluster.org/8558 committed in master by Pranith Kumar Karampuri (pkarampu) 
------
commit 15a2088da508539a292f2a1863377dc40d264c8c
Author: Ravishankar N <ravishankar>
Date:   Wed Sep 3 20:49:53 2014 +0000

    cluster/afr: perform list-xattr during lookup
    
    Detect and heal mismatching user extended attributes during lookup.
    'Forward' port of http://review.gluster.org/#/c/7444/
    
    Change-Id: Id03c9746f083ffd3014711d0b3a2e5a71a45eed4
    BUG: 1134691
    Signed-off-by: Ravishankar N <ravishankar>
    Reviewed-on: http://review.gluster.org/8558
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu>
    Tested-by: Pranith Kumar Karampuri <pkarampu>

Comment 12 Niels de Vos 2015-05-14 17:27: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.0, please open a new bug report.

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

Comment 13 Niels de Vos 2015-05-14 17:35: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.7.0, please open a new bug report.

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

Comment 14 Niels de Vos 2015-05-14 17:37:56 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.0, please open a new bug report.

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

Comment 15 Niels de Vos 2015-05-14 17:43: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.7.0, please open a new bug report.

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