summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormartinko2014-10-08 08:35:22 +0000
committermartinko2014-10-08 08:35:22 +0000
commit6b14524735b8a6641c407b758fce2dad5ad7561c (patch)
treeca2d8ac811f45848afc2db796d3afc2a14764695
parent0a565304281ceacf4026bd4f4048b50489a2df5c (diff)
pgq.cascade.admin: fixed takeover ("cannot subscribe to itself")
-rw-r--r--python/pgq/cascade/admin.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/python/pgq/cascade/admin.py b/python/pgq/cascade/admin.py
index 623c72e7..a9d599ea 100644
--- a/python/pgq/cascade/admin.py
+++ b/python/pgq/cascade/admin.py
@@ -844,7 +844,8 @@ class CascadeAdmin(skytools.AdminScript):
# switch subscribers around
if self.options.all or failover:
for n in self.find_subscribers_for(old_node_name):
- self.node_change_provider(n, new_node_name)
+ if n != new_node_name:
+ self.node_change_provider(n, new_node_name)
def find_provider(self, node_name):
if self.node_alive(node_name):
@@ -861,7 +862,7 @@ class CascadeAdmin(skytools.AdminScript):
return self.find_root_node()
def find_subscribers_for(self, parent_node_name):
- """Find subscribers for particular node node."""
+ """Find subscribers for particular node."""
# use dict to eliminate duplicates
res = {}