+++ 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:
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.)
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#1) for review on master by Ravishankar N (ravishankar)
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#2) for review on master by Ravishankar N (ravishankar)
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#3) for review on master by Ravishankar N (ravishankar)
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#4) for review on master by Ravishankar N (ravishankar)
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#5) for review on master by Ravishankar N (ravishankar)
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#6) for review on master by Ravishankar N (ravishankar)
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#7) for review on master by Ravishankar N (ravishankar)
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#8) for review on master by Ravishankar N (ravishankar)
REVIEW: http://review.gluster.org/8558 (cluster/afr: perform list-xattr during lookup) posted (#9) for review on master by Ravishankar N (ravishankar)
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>
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