diff options
author | Gaurav Yadav <gyadav@redhat.com> | 2017-10-05 23:44:46 +0530 |
---|---|---|
committer | Atin Mukherjee <amukherj@redhat.com> | 2017-10-17 15:44:49 +0000 |
commit | 614904fa7a31bf6f69074238b7e710a20e05e1bb (patch) | |
tree | a478eddc666d9c8edae16446b50ca1b3cd9c8ffa /libglusterfs | |
parent | 05b9dce1b503ab10efdb79a870b07d982cb5a823 (diff) |
glusterd : introduce timer in mgmt_v3_lock
Problem:
In a multinode environment, if two of the op-sm transactions
are initiated on one of the receiver nodes at the same time,
there might be a possibility that glusterd may end up in
stale lock.
Solution:
During mgmt_v3_lock a registration is made to gf_timer_call_after
which release the lock after certain period of time
Change-Id: I16cc2e5186a2e8a5e35eca2468b031811e093843
BUG: 1499004
Signed-off-by: Gaurav Yadav <gyadav@redhat.com>
Diffstat (limited to 'libglusterfs')
-rw-r--r-- | libglusterfs/src/common-utils.h | 2 | ||||
-rw-r--r-- | libglusterfs/src/mem-types.h | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/libglusterfs/src/common-utils.h b/libglusterfs/src/common-utils.h index eb3a8f3ac77..76dfe0666f9 100644 --- a/libglusterfs/src/common-utils.h +++ b/libglusterfs/src/common-utils.h @@ -102,7 +102,7 @@ void trap (void); #define GF_CLNT_INSECURE_PORT_CEILING (GF_IANA_PRIV_PORTS_START - 1) #define GF_PORT_MAX 65535 #define GF_PORT_ARRAY_SIZE ((GF_PORT_MAX + 7) / 8) - +#define GF_LOCK_TIMER 180 #define GF_MINUTE_IN_SECONDS 60 #define GF_HOUR_IN_SECONDS (60*60) #define GF_DAY_IN_SECONDS (24*60*60) diff --git a/libglusterfs/src/mem-types.h b/libglusterfs/src/mem-types.h index c2ac088f639..64d0e90e1bd 100644 --- a/libglusterfs/src/mem-types.h +++ b/libglusterfs/src/mem-types.h @@ -175,6 +175,7 @@ enum gf_common_mem_types_ { gf_common_mt_pthread_t, gf_common_ping_local_t, gf_common_volfile_t, + gf_common_mt_mgmt_v3_lock_timer_t, gf_common_mt_end }; #endif |