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.
This commit is contained in:
Oleksii Kliukin
2015-12-30 16:05:06 +01:00
parent 8ac731788d
commit bf52fa6f57
+2 -2
View File
@@ -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):