mirror of
https://github.com/outbackdingo/patroni.git
synced 2026-08-25 14:53:37 +00:00
Restart former master in readonly only once when partitioned (#370)
This commit is contained in:
committed by
GitHub
parent
663bbb1048
commit
8fda957804
+5
-2
@@ -636,8 +636,11 @@ class Ha(object):
|
||||
else:
|
||||
# Either there is no connection to DCS or someone else acquired the lock
|
||||
logger.error('failed to update leader lock')
|
||||
self.demote('offline')
|
||||
return 'demoted self because failed to update leader lock in DCS'
|
||||
if self.state_handler.is_leader():
|
||||
self.demote('offline')
|
||||
return 'demoted self because failed to update leader lock in DCS'
|
||||
else:
|
||||
return 'not promoting because failed to update leader lock in DCS'
|
||||
else:
|
||||
logger.info('does not have lock')
|
||||
return self.follow('demoting self because i do not have the lock and i was a leader',
|
||||
|
||||
@@ -243,6 +243,8 @@ class TestHa(unittest.TestCase):
|
||||
self.ha.has_lock = true
|
||||
self.ha.update_lock = false
|
||||
self.assertEquals(self.ha.run_cycle(), 'demoted self because failed to update leader lock in DCS')
|
||||
self.p.is_leader = false
|
||||
self.assertEquals(self.ha.run_cycle(), 'not promoting because failed to update leader lock in DCS')
|
||||
|
||||
def test_follow(self):
|
||||
self.ha.cluster.is_unlocked = false
|
||||
|
||||
Reference in New Issue
Block a user