+++ This bug was initially created as a clone of Bug #1293293 +++ Description of problem: Since commit 6e635284a4411b816d4d860a28262c9e6dc4bd6a glusterfs-3.7.7), the afr pending xattrs are stored in the volfile and used by afr when it initializes. If a cluster is upgraded to 3.7.7 and the volfile is not regenerated, AFR will crash. How reproducible: Always Steps to Reproduce: 1. Create a 1x2 replica on glusterfs 3.7.6 on one node 2. Upgrade to 3.7.7, restart glusterd 3. gluster volume set all cluster.op-version 30707 4. start the volume and fuse mount it. Actual results: Fuse mount will crash Expected results: Should not crash - --- Additional comment from Vijay Bellur on 2015-12-21 23:31:00 EST --- COMMIT: http://review.gluster.org/13038 committed in master by Pranith Kumar Karampuri (pkarampu) ------ commit 4bfbabfdd698e93a1dc1aad5590ed18f10936c55 Author: Ravishankar N <ravishankar> Date: Mon Dec 21 10:09:53 2015 +0000 afr: warn if pending xattrs missing during init() Since commit 6e635284a4411b816d4d860a28262c9e6dc4bd6a (glusterfs-3.7.7), the afr pending xattrs are stored in the volfile and used by afr when it initializes. If a cluster is upgraded, prevent afr from loading until the op-version has been bumped up to 3.7.7 and the volfiles have been regenerated using a volume set command. Without this fix, AFR will crash when initialzing. Change-Id: I14249dedb3f2f77cd754d78d8a9a70fdc5fc8c10 BUG: 1293293 Signed-off-by: Ravishankar N <ravishankar> Reviewed-on: http://review.gluster.org/13038 Tested-by: Gluster Build System <jenkins.com> Tested-by: NetBSD Build System <jenkins.org> Reviewed-by: Pranith Kumar Karampuri <pkarampu>
REVIEW: http://review.gluster.org/13058 (afr: warn if pending xattrs missing during init()) posted (#1) for review on release-3.7 by Ravishankar N (ravishankar)
COMMIT: http://review.gluster.org/13058 committed in release-3.7 by Pranith Kumar Karampuri (pkarampu) ------ commit 101243860bca1bbda8a03ab76f6753ecc10799ed Author: Ravishankar N <ravishankar> Date: Mon Dec 21 10:09:53 2015 +0000 afr: warn if pending xattrs missing during init() Backport of http://review.gluster.org/#/c/13038/ Since commit 6e635284a4411b816d4d860a28262c9e6dc4bd6a (glusterfs-3.7.7), the afr pending xattrs are stored in the volfile and used by afr when it initializes. If a cluster is upgraded, prevent afr from loading until the op-version has been bumped up to 3.7.7 and the volfiles have been regenerated using a volume set command. Without this fix, AFR will crash when initialzing. Change-Id: I14249dedb3f2f77cd754d78d8a9a70fdc5fc8c10 BUG: 1293536 Signed-off-by: Ravishankar N <ravishankar> (cherry picked from commit 4bfbabfdd698e93a1dc1aad5590ed18f10936c55) Reviewed-on: http://review.gluster.org/13058 Tested-by: Gluster Build System <jenkins.com> Tested-by: NetBSD Build System <jenkins.org> Reviewed-by: Pranith Kumar Karampuri <pkarampu>
REVIEW: http://review.gluster.org/13338 (Revert "afr: warn if pending xattrs missing during init()") posted (#2) for review on release-3.7 by Pranith Kumar Karampuri (pkarampu)
REVIEW: http://review.gluster.org/13339 (Revert "glusterd/afr: store afr pending xattrs as a volume option") posted (#2) for review on release-3.7 by Pranith Kumar Karampuri (pkarampu)
COMMIT: http://review.gluster.org/13338 committed in release-3.7 by Pranith Kumar Karampuri (pkarampu) ------ commit d35e38660d8b8ea42bc41bfd6a50dc75dc05d6ad Author: Pranith Kumar Karampuri <pkarampu> Date: Tue Feb 2 06:37:06 2016 -0800 Revert "afr: warn if pending xattrs missing during init()" This reverts commit 101243860bca1bbda8a03ab76f6753ecc10799ed. Change-Id: I042b251250515d703b5bc8bac55e0fc49f2dfc69 BUG: 1293536 Signed-off-by: Pranith Kumar Karampuri <pkarampu> Reviewed-on: http://review.gluster.org/13338 Smoke: Gluster Build System <jenkins.com> CentOS-regression: Gluster Build System <jenkins.com> NetBSD-regression: NetBSD Build System <jenkins.org>
REVIEW: http://review.gluster.org/13339 (Revert "glusterd/afr: store afr pending xattrs as a volume option") posted (#3) for review on release-3.7 by Pranith Kumar Karampuri (pkarampu)
COMMIT: http://review.gluster.org/13339 committed in release-3.7 by Pranith Kumar Karampuri (pkarampu) ------ commit de6e9200cfbb91ee98abfb6c046c16805388631a Author: Pranith Kumar Karampuri <pkarampu> Date: Tue Feb 2 06:37:11 2016 -0800 Revert "glusterd/afr: store afr pending xattrs as a volume option" This reverts commit 486b07dfc33782d27e3458659cdd6090f496ad35. Change-Id: I2da12ef77fb01c52cae3c3b5547398b6a4d7d17e BUG: 1293536 Signed-off-by: Pranith Kumar Karampuri <pkarampu> Reviewed-on: http://review.gluster.org/13339 Smoke: Gluster Build System <jenkins.com> CentOS-regression: Gluster Build System <jenkins.com> NetBSD-regression: NetBSD Build System <jenkins.org>
Note: Though v3.7.7 contains the above fix, it was reverted for v3.7.8 as it broke the rolling upgrade use-case. The patch is therefore only present in master.
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.7, please open a new bug report. glusterfs-3.7.7 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] https://www.gluster.org/pipermail/gluster-users/2016-February/025292.html [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user