Go to file
zhen 6b2216ebcc Fix inappropriate logic in memcachedlock.release()
Whether 'was_deleted' was 'TRUE' or not, eventually we have to remove
self from '_acquired_locks'.
For example:
1. App #1 with coordinator 'A' wants to release lock "b"
2. 'self.coord.client.delete()' failed for some reason(.e.g,
BrokenPipeError,MemcacheUnexpectedCloseError)
3. According to the former logic,lock "b" will not remove
from "_acquired_locks", so "self.heartbeat()" will make it alive
forever until App #1 was down or lock "b" turned expired.
4. Now App #1 with coordinator 'A' wants to acquire lock "c", who
have the same lock-name with lock "b",It is clear that this will
fail and prevent the locked program from continuing to execute.

Change-Id: I6fc33b8e0a88510027bcfc30d1504489d2a91b4e
2022-05-26 17:23:41 +08:00
2020-10-09 15:35:34 +00:00
2020-10-09 15:35:34 +00:00
2019-05-10 20:02:04 +00:00
2018-09-18 00:37:30 +00:00
2020-03-25 13:17:59 +01:00
2019-04-19 19:27:52 +00:00
2018-09-18 00:37:30 +00:00
2016-09-22 10:20:50 +02:00
2016-11-18 16:44:36 +08:00
2013-12-19 12:18:35 +01:00
2015-09-17 12:17:45 +00:00
2020-10-09 15:35:34 +00:00

Tooz

Latest Version

Downloads

The Tooz project aims at centralizing the most common distributed primitives like group membership protocol, lock service and leader election by providing a coordination API helping developers to build distributed applications.

Join us

Description
Coordinate distributed systems.
Readme 10 MiB
Languages
Python 99.2%
Shell 0.8%