summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Danjou <julien@danjou.info>2014-12-08 16:47:24 +0100
committerJulien Danjou <julien@danjou.info>2014-12-09 16:38:01 +0100
commit14000cd9f2e4a090ccbf7415aae4a1950cae72eb (patch)
tree573cee4220ef88db14c8ca10b497e20bc9f2a4b4
parenteffcc8d13844d777ac70d59094f640cfacd67129 (diff)
downloadtooz-14000cd9f2e4a090ccbf7415aae4a1950cae72eb.tar.gz
memcached: add support for _destroy_group
Change-Id: I0068b2ee48ced1882f5c183e0c77b064b1e0c565
-rw-r--r--tooz/drivers/memcached.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/tooz/drivers/memcached.py b/tooz/drivers/memcached.py
index 7ee323c..661438f 100644
--- a/tooz/drivers/memcached.py
+++ b/tooz/drivers/memcached.py
@@ -229,6 +229,9 @@ class MemcachedDriver(coordination.CoordinationDriver):
return MemcachedFutureResult(self._executor.submit(_leave_group))
+ def _destroy_group(self, group_id):
+ self.client.delete(self._encode_group_id(group_id))
+
@_retry.retry
def _get_members(self, group_id):
encoded_group = self._encode_group_id(group_id)
@@ -337,7 +340,10 @@ class MemcachedDriver(coordination.CoordinationDriver):
def run_watchers(self):
result = []
for group_id in self.client.get(self._GROUP_LIST_KEY):
- group_members = set(self._get_members(group_id))
+ try:
+ group_members = set(self._get_members(group_id))
+ except coordination.GroupNotCreated:
+ group_members = set()
old_group_members = self._group_members[group_id]
for member_id in (group_members - old_group_members):