From dd70a3f3252aa3940dbf4b138ea8441d9dc35422 Mon Sep 17 00:00:00 2001 From: Alexander Kukushkin Date: Mon, 30 May 2016 11:06:16 +0200 Subject: [PATCH] BUGFIX: demote is already running in a thread It should not call `recover` but `state_handler.follow` directly (like it is already done in the `clone`). Otherwise it tries to create a new thread and all async functionality became borken... --- patroni/ha.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/patroni/ha.py b/patroni/ha.py index 1d51c93f..b12aa856 100644 --- a/patroni/ha.py +++ b/patroni/ha.py @@ -276,7 +276,9 @@ class Ha(object): self.touch_member() self.dcs.reset_cluster() sleep(2) # Give a time to somebody to promote - self.recover() + cluster = self.dcs.get_cluster() + node_to_follow = self._get_node_to_follow(cluster) + self.state_handler.follow(node_to_follow, cluster.leader, True) else: self.state_handler.follow(None, None)