[Bugs] [Bug 1171077] New: [AFR-V2] - Eliminate inodelks taken by shd during metadata self-heal in self-heal domain
bugzilla at redhat.com
bugzilla at redhat.com
Fri Dec 5 10:18:23 UTC 2014
https://bugzilla.redhat.com/show_bug.cgi?id=1171077
Bug ID: 1171077
Summary: [AFR-V2] - Eliminate inodelks taken by shd during
metadata self-heal in self-heal domain
Product: GlusterFS
Version: 3.6.1
Component: replicate
Assignee: bugs at gluster.org
Reporter: kdhananj at redhat.com
CC: bugs at gluster.org, gluster-bugs at redhat.com
Depends On: 1170913
+++ This bug was initially created as a clone of Bug #1170913 +++
Description of problem:
The reason self-heal daemons first acquire full locks in self-heal domain in
AFR-V2, is to ensure that only one of them gets to enter the critical section
and do the healing of a file/directory.
Although this was being achieved before AFR-V2 by way of holding full locks in
xlator domain (the domain where normal modification FOPs take locks in the
clients' I/O path) until the given file/directory is healed, the disadvantage
with this approach was that the clients in the normal I/O path would be
required to wait until this file/dir is healed, and in cases where the
to-be-healed files are really large (think VM images), the clients would
perceive a hung file system with nothing working.
Therefore, to eliminate this, self-heal domain locks were introduced
exclusively for use by self-heal daemon.
However, metadata self-heal is a relatively fast operation (irrespective of how
big the file/directory is). Hence, it can possibly eliminate locking in
sh-domain and directly proceed with a blocking locks acquisition in xlator
domain, perform metadata healing (a bunch of getxattrs, setxattrs, removexattrs
and setattr), and a quick unlock on the held locks.
This way,
a. No two healers can concurrently perform metadata healing of a file/dir;
b. The clients themselves cannot enter the critical section either to modify
metadata while selfheal is in progress.
c. The clients in the normal i/o path do not have to be blocked for a really
long time to do metadata FOPs;
Version-Release number of selected component (if applicable):
How reproducible:
N/A
Steps to Reproduce:
1.
2.
3.
Actual results:
Expected results:
Additional info:
--- Additional comment from Anand Avati on 2014-12-05 01:15:18 EST ---
REVIEW: http://review.gluster.org/9240 (cluster/afr: Eliminate locking in sh
domain in metadata self-heal) posted (#1) for review on master by Krutika
Dhananjay (kdhananj at redhat.com)
--- Additional comment from Anand Avati on 2014-12-05 04:51:19 EST ---
COMMIT: http://review.gluster.org/9240 committed in master by Pranith Kumar
Karampuri (pkarampu at redhat.com)
------
commit 5fdffa7164ffc5a798246411d065259b36658bc3
Author: Krutika Dhananjay <kdhananj at redhat.com>
Date: Fri Dec 5 11:16:07 2014 +0530
cluster/afr: Eliminate locking in sh domain in metadata self-heal
Change-Id: I9ef25a17c9a43ba06fac2ad3f7c18cb47de91537
BUG: 1170913
Signed-off-by: Krutika Dhananjay <kdhananj at redhat.com>
Reviewed-on: http://review.gluster.org/9240
Tested-by: Gluster Build System <jenkins at build.gluster.com>
Reviewed-by: Pranith Kumar Karampuri <pkarampu at redhat.com>
Tested-by: Pranith Kumar Karampuri <pkarampu at redhat.com>
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=1170913
[Bug 1170913] [AFR-V2] - Eliminate inodelks taken by shd during metadata
self-heal in self-heal domain
--
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
More information about the Bugs
mailing list