diff options
author | Joshua Harlow <harlowja@yahoo-inc.com> | 2014-09-16 16:48:18 -0700 |
---|---|---|
committer | Joshua Harlow <harlowja@gmail.com> | 2014-09-17 09:01:55 -0700 |
commit | fab18f8c80ff287f5a41935f1e648984018fad16 (patch) | |
tree | fa2e49720c949988077a532da59cfeefbb42adf0 | |
parent | 90792db9d4f3ffac6dc7a5a72345bbadfe55ee46 (diff) | |
download | tooz-fab18f8c80ff287f5a41935f1e648984018fad16.tar.gz |
On lock removal validate that they key was actually deleted
Instead of assuming the lock was released (when it might have
not been) be more reliable and return whether it really was
or was not by validating the reply.
Change-Id: I70b2e1946d5101c7fbbf4ed9f15007bb98e92581
-rw-r--r-- | tooz/drivers/memcached.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tooz/drivers/memcached.py b/tooz/drivers/memcached.py index 65686ed..999b711 100644 --- a/tooz/drivers/memcached.py +++ b/tooz/drivers/memcached.py @@ -67,8 +67,11 @@ class MemcachedLock(locking.Lock): raise Retry def release(self): - self.coord._acquired_locks.remove(self) - return bool(self.coord.client.delete(self.name)) + if self.coord.client.delete(self.name, noreply=False): + self.coord._acquired_locks.remove(self) + return True + else: + return False def heartbeat(self): """Keep the lock alive.""" |