From bf52fa6f570208f5ddc5b2c0779c2eb43ffac732 Mon Sep 17 00:00:00 2001 From: Oleksii Kliukin Date: Wed, 30 Dec 2015 16:05:06 +0100 Subject: [PATCH] follow_the_leader unconditionally during recovery. Otherwise, we may 'forget' to start the crashed node. This fixes the regression from the former behavior introduced in the previous commit. --- patroni/ha.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/patroni/ha.py b/patroni/ha.py index 0a2072aa..af1b62b1 100644 --- a/patroni/ha.py +++ b/patroni/ha.py @@ -112,9 +112,9 @@ class Ha: or recovery and self.state_handler.role == 'master') else follow_reason leader = self.cluster.leader leader = None if (leader and leader.name) == self.state_handler.name else leader - if not self.state_handler.check_recovery_conf(leader): + if not self.state_handler.check_recovery_conf(leader) or recovery: self._async_executor.schedule('changing primary_conninfo and restarting') - self._async_executor.run_async(self.state_handler.follow_the_leader, (leader, )) + self._async_executor.run_async(self.state_handler.follow_the_leader, (leader, recovery)) return ret def enforce_master_role(self, message, promote_message):