Bug 1468200
Summary: | [Geo-rep]: entry failed to sync to slave with ENOENT errror | ||
---|---|---|---|
Product: | [Community] GlusterFS | Reporter: | Kotresh HR <khiremat> |
Component: | geo-replication | Assignee: | Kotresh HR <khiremat> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 3.11 | CC: | bugs, rhinduja |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | glusterfs-3.11.2 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | 1467718 | Environment: | |
Last Closed: | 2017-08-12 13:07:33 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: | 1467718 | ||
Bug Blocks: | 1468186, 1468198 |
Description
Kotresh HR
2017-07-06 09:44:59 UTC
REVIEW: https://review.gluster.org/17715 (geo-rep: Fix entry failure because parent dir doesn't exist) posted (#1) for review on release-3.11 by Kotresh HR (khiremat) COMMIT: https://review.gluster.org/17715 committed in release-3.11 by Shyamsundar Ranganathan (srangana) ------ commit 0812d960e5a02bd2021233e5ef09a1139705a88f Author: Kotresh HR <khiremat> Date: Tue Jul 4 08:46:06 2017 -0400 geo-rep: Fix entry failure because parent dir doesn't exist In a distributed volume on master, it can so happen that the RMDIR followed by MKDIR is recorded in changelog on a particular subvolume with same gfid and pargfid/bname but not on all subvolumes as below. E 61c67a2e-07f2-45a9-95cf-d8f16a5e9c36 RMDIR \ 9cc51be8-91c3-4ef4-8ae3-17596fcfed40%2Ffedora2 E 61c67a2e-07f2-45a9-95cf-d8f16a5e9c36 MKDIR 16877 0 0 \ 9cc51be8-91c3-4ef4-8ae3-17596fcfed40%2Ffedora2 While processing this changelog, geo-rep thinks RMDIR is successful and does recursive rmdir on slave. But in the master the directory still exists. This could lead to data discrepancy between master and slave. Cause: RMDIR-MKDIR pair gets recorded so in changelog when the directory removal is successful on cached subvolume and failed in one of hashed subvol for some reason (may be down). In this case, the directory is re-created on cached subvol which gets recorded as MKDIR again in changelog. Solution: So while processing RMDIR geo-replication should stat on master with gfid and should not delete it if it's present. > Change-Id: If5da1d6462eb4d9ebe2e88b3a70cc454411a133e > BUG: 1467718 > Signed-off-by: Kotresh HR <khiremat> > Reviewed-on: https://review.gluster.org/17695 > Smoke: Gluster Build System <jenkins.org> > CentOS-regression: Gluster Build System <jenkins.org> > Reviewed-by: Aravinda VK <avishwan> (cherry picked from commit b25bf64f3a3520a96ad557daa4903c0ceba96d72) Change-Id: If5da1d6462eb4d9ebe2e88b3a70cc454411a133e BUG: 1468200 Signed-off-by: Kotresh HR <khiremat> Reviewed-on: https://review.gluster.org/17715 Smoke: Gluster Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.org> Reviewed-by: Shyamsundar Ranganathan <srangana> 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.11.2, please open a new bug report. glusterfs-3.11.2 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://lists.gluster.org/pipermail/gluster-users/2017-July/031908.html [2] https://www.gluster.org/pipermail/gluster-users/ |