mirror of
https://github.com/outbackdingo/patroni.git
synced 2026-08-25 14:53:37 +00:00
Start readonly when holding leader lock
Not starting of postgres was causeing situation when there were no master running...
This commit is contained in:
@@ -729,14 +729,13 @@ class Postgresql(object):
|
||||
return True
|
||||
|
||||
change_role = self.role == 'master'
|
||||
self._need_rewind = self._need_rewind or change_role and self.can_rewind
|
||||
|
||||
self._need_rewind = (not leader or leader.name != self.name) \
|
||||
and (self._need_rewind or change_role and self.can_rewind)
|
||||
|
||||
if self._need_rewind:
|
||||
logger.info("set the rewind flag after demote")
|
||||
|
||||
if leader and leader.name == self.name:
|
||||
return logger.info('Can not rewind from myself')
|
||||
|
||||
if self.is_running():
|
||||
stopped = self.stop()
|
||||
self.set_role('unknown')
|
||||
|
||||
@@ -262,8 +262,6 @@ class TestPostgresql(unittest.TestCase):
|
||||
self.p.follow(None, None) # restart without rewind
|
||||
self.p.set_role('master')
|
||||
|
||||
self.p.follow(self.leader, self.me) # Can not rewind from myself
|
||||
|
||||
with patch.object(Postgresql, 'stop', Mock(return_value=False)):
|
||||
self.p.follow(self.leader, self.leader) # failed to stop postgres
|
||||
|
||||
|
||||
Reference in New Issue
Block a user