From 23ccabbeb7879fd05f415690124bd7b4a74d4d33 Mon Sep 17 00:00:00 2001 From: Ashish Pandey Date: Fri, 4 Mar 2016 13:05:09 +0530 Subject: cluster/ec: Provide an option to enable/disable eager lock Problem: If a fop takes lock, and completes its operation, it waits for 1 second before releasing the lock. However, If ec find any lock contention within this time period, it release the lock immediately before time expires. As we take lock on first brick, for few operations, like read, it might happen that discovery of lock contention might take long time and can degrades the performance. Solution: Provide an option to enable/disable eager lock. If eager lock is disabled, lock will be released as soon as fop completes. gluster v set disperse.eager-lock on gluster v set disperse.eager-lock off Change-Id: I000985a787eba3c190fdcd5981dfbf04e64af166 BUG: 1314649 Signed-off-by: Ashish Pandey Reviewed-on: http://review.gluster.org/13605 Smoke: Gluster Build System Reviewed-by: Pranith Kumar Karampuri Tested-by: Pranith Kumar Karampuri CentOS-regression: Gluster Build System NetBSD-regression: NetBSD Build System --- tests/bugs/replicate/bug-921231.t | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tests/bugs/replicate/bug-921231.t') diff --git a/tests/bugs/replicate/bug-921231.t b/tests/bugs/replicate/bug-921231.t index 93c642beb1e..81504612f63 100644 --- a/tests/bugs/replicate/bug-921231.t +++ b/tests/bugs/replicate/bug-921231.t @@ -3,7 +3,7 @@ . $(dirname $0)/../../include.rc . $(dirname $0)/../../volume.rc -# This test writes to same file with 2 fds and tests that eager-lock is not +# This test writes to same file with 2 fds and tests that cluster.eager-lock is not # causing extra delay because of post-op-delay-secs cleanup; @@ -14,7 +14,7 @@ function write_to_file { TEST glusterd TEST pidof glusterd TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}0 $H0:$B0/${V0}1 -TEST $CLI volume set $V0 eager-lock on +TEST $CLI volume set $V0 cluster.eager-lock on TEST $CLI volume set $V0 post-op-delay-secs 3 TEST $CLI volume set $V0 client-log-level DEBUG TEST $CLI volume start $V0 -- cgit