[Bugs] [Bug 1272331] New: Tier: Do not promote/demote files on which POSIX locks are held
bugzilla at redhat.com
bugzilla at redhat.com
Fri Oct 16 06:50:25 UTC 2015
https://bugzilla.redhat.com/show_bug.cgi?id=1272331
Bug ID: 1272331
Summary: Tier: Do not promote/demote files on which POSIX locks
are held
Product: GlusterFS
Version: 3.7.5
Component: tiering
Assignee: bugs at gluster.org
Reporter: nbalacha at redhat.com
QA Contact: bugs at gluster.org
CC: bugs at gluster.org, dlambrig at redhat.com,
nbalacha at redhat.com, nchilaka at redhat.com
Depends On: 1271148
+++ This bug was initially created as a clone of Bug #1271148 +++
Description of problem:
The dht_migrate_file function currently does not move the POSIX locks on the
file being migrated to the dst file. Any locks held on a file are lost once the
migration is complete.
This problem exists in DHT rebalance but is magnified in tiering as promotes
and demotes occur more frequently.
BZ 1267955 tracks the lock migration fix. Until that is done, we will skip all
files on which POSIX locks are held.
Version-Release number of selected component (if applicable):
How reproducible:
Steps to Reproduce:
1.
2.
3.
Actual results:
Expected results:
Additional info:
--- Additional comment from Vijay Bellur on 2015-10-13 05:51:50 EDT ---
REVIEW: http://review.gluster.org/12347 (cluster/dht : Do not migrate files
with POSIX locks held) posted (#1) for review on master by N Balachandran
(nbalacha at redhat.com)
--- Additional comment from Vijay Bellur on 2015-10-14 06:58:34 EDT ---
REVIEW: http://review.gluster.org/12347 (cluster/dht : Do not migrate files
with POSIX locks held) posted (#2) for review on master by N Balachandran
(nbalacha at redhat.com)
--- Additional comment from Vijay Bellur on 2015-10-14 07:10:48 EDT ---
REVIEW: http://review.gluster.org/12347 (cluster/dht : Do not migrate files
with POSIX locks held) posted (#3) for review on master by N Balachandran
(nbalacha at redhat.com)
--- Additional comment from Vijay Bellur on 2015-10-15 09:08:41 EDT ---
COMMIT: http://review.gluster.org/12347 committed in master by Dan Lambright
(dlambrig at redhat.com)
------
commit bd71446b25aefe066ca18a28d73d777774ab7f87
Author: N Balachandran <nbalacha at redhat.com>
Date: Tue Oct 13 15:02:00 2015 +0530
cluster/dht : Do not migrate files with POSIX locks held
dht_migrate_file does not migrate file locks to the dst file.
Any locks held on the source file are lost once the migration
is complete. This issue is magnified in the case of a tier volume
as file migrations occur more frequently and repeatedly as compared
to a DHT rebalance.
The fix makes 2 changes:
1. Before starting the actual migration process, check if there are
any locks held on the file. If yes, do not migrate the file.
2. The rebalance process tries to lock on the entire file just before
moving into the Phase 2 of the file migration. If the lock acquisition
fails, the file migration does not proceed.
If the lock is granted, the file migration proceeds.
This still leaves a small window where conflicting locks can be granted to
different clients. If client1 requests a lock on the src file just after
it is converted to a linkto file and client2 requests a lock on the dst
data file, they will both be granted, but all FOPs will be redirected
to the dst data file. This issue will be taken up in a subsequent patch.
Change-Id: I8c895fc3cced50dd2894259d40a827c7b43d58ac
BUG: 1271148
Signed-off-by: N Balachandran <nbalacha at redhat.com>
Reviewed-on: http://review.gluster.org/12347
Tested-by: NetBSD Build System <jenkins at build.gluster.org>
Tested-by: Gluster Build System <jenkins at build.gluster.com>
Reviewed-by: Dan Lambright <dlambrig at redhat.com>
Tested-by: Dan Lambright <dlambrig at redhat.com>
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=1271148
[Bug 1271148] Tier: Do not promote/demote files on which POSIX locks are
held
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are on the CC list for the bug.
You are the assignee for the bug.
More information about the Bugs
mailing list