[Bugs] [Bug 1240658] New: gluster volume heal full does not heal data and files inaccessible from mount point
bugzilla at redhat.com
bugzilla at redhat.com
Tue Jul 7 12:49:02 UTC 2015
https://bugzilla.redhat.com/show_bug.cgi?id=1240658
Bug ID: 1240658
Summary: gluster volume heal full does not heal data and files
inaccessible from mount point
Product: Red Hat Gluster Storage
Version: 3.1
Component: gluster-afr
Assignee: pkarampu at redhat.com
Reporter: ravishankar at redhat.com
QA Contact: storage-qa-internal at redhat.com
CC: bugs at gluster.org, gluster-bugs at redhat.com
Depends On: 1112158
Group: redhat
+++ This bug was initially created as a clone of Bug #1112158 +++
Description of problem:
When the file and gfid link is deleted from the backend of one of the replica
pairs, they become inaccessible from the mount point and 'gluster volume heal
<volname> full' fails to trigger the heal.
Version-Release number of selected component (if applicable):
How reproducible:
Always on a 2 node setup (seems to work fine if volume is created on one node
only).
Steps to Reproduce:
1. Create 1x2 replica, fuse mount it.
2. mkdir -p /fuse_mnt/dir1/dir2
3. rm -f /brick2/.glusterfs/<gfid-link of dir1>
4. rmdir /brick2/dir1/dir2
5. gluster v heal <volname> full
After some time:
6.[root at ravi4 fuse_mnt]# ls -lR
.:
total 0
drwxr-xr-x 2 root root 6 Jun 23 2014 dir1
./dir1:
total 0
Actual results:
dir2 is missing from mount point and in brick2
Expected results:
dir2 must be accessible since it is present in brick1 and heal full must
recreate it in brick2
--- Additional comment from Ravishankar N on 2014-07-16 06:11:57 EDT ---
The repro steps mentioned in the bug description is not accurate as the brick2
was not killed/restarted. The correct steps would be:
1. Create 1x2 replica on 2 nodes, fuse mount it.
2. mkdir -p /fuse_mnt/dir1/dir2
3. kill one brick process (say brick2)
3. rm -rf /brick2/*
4. rm -rf /brick2/.glusterfs
5. restart brick2
6. gluster v heal <volname> full
During multiple trial runs, it is observed that the heal full is not happening
on the node having the highest UUID (i.e if brick2's node has highes UUID,
then data is not healed to it).
--- Additional comment from Ravishankar N on 2015-06-25 00:35:22 EDT ---
Note: Since full heals are done in replace-brick or increasing the replica
count scenarios.
For replace-brick, http://review.gluster.org/#/c/10076/ and
http://review.gluster.org/#/c/10448/ should fix the issue. The patches mark the
replaced brick as needing heal via AFR changelog xattrs. This should cause the
self-heal daemon to automatically trigger heals without the need to run the
`heal <volname> full` command.
We would need to do a similar fix for replica count increase (add-brick
command) as well.
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=1112158
[Bug 1112158] gluster volume heal full does not heal data and files
inaccessible from mount point
--
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=vZlAmtifyd&a=cc_unsubscribe
More information about the Bugs
mailing list