diff options
| author | Sanju Rakonde <srakonde@redhat.com> | 2018-04-17 18:10:01 +0530 |
|---|---|---|
| committer | Atin Mukherjee <amukherj@redhat.com> | 2018-05-28 14:10:45 +0000 |
| commit | c54702a34aa1feb86e2f5f2b1b238966a52ae37b (patch) | |
| tree | 4740c5318542e51bac52f66aba2b983ba47cd6fb /xlators/mgmt/glusterd/src/glusterd-locks.c | |
| parent | c772f84e2b7925d0bb294877db3f68bd7cdfb1a3 (diff) | |
glusterd: glusterd is releasing the locks before timeout
Problem: We introduced lock timer in mgmt v3, which will realease
the lock after 3 minutes from command execution. Some commands related
to heal/profile will take more time to execute. For these comands
timeout is set to 10 minutes. As the lock timer is set to 3 minutes
glusterd is releasing the lock after 3 minutes. That means locks are
released before the command is completed its execution.
Solution: Pass a timeout parameter from cli to glusterd, when there
is a change in default timeout value(i.e, default timeout value can
be changed through command line or for the commands related to profile/heal
we will change the default timeout value to 10 minutes.) glusterd will
set the lock timer timeout according to the timeout value passed.
Change-Id: I7b7a9a4f95ed44aca39ef9d9907f546bca99c69d
fixes: bz#1577731
Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-locks.c')
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-locks.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-locks.c b/xlators/mgmt/glusterd/src/glusterd-locks.c index 33277058db8..ab69c78b0f0 100644 --- a/xlators/mgmt/glusterd/src/glusterd-locks.c +++ b/xlators/mgmt/glusterd/src/glusterd-locks.c @@ -656,6 +656,8 @@ glusterd_mgmt_v3_lock (const char *name, uuid_t uuid, uint32_t *op_errno, key_dup = gf_strdup (key); delay.tv_sec = priv->mgmt_v3_lock_timeout; delay.tv_nsec = 0; + /*changing to default timeout value*/ + priv->mgmt_v3_lock_timeout = GF_LOCK_TIMER; ret = -1; mgmt_lock_timer_xl = mgmt_lock_timer->xl; |
