bugfix in zookeeper module:

when master node was being attached to patroni/zookeeper (no cluster in
zookeeper yet) patroni has never tried to "refetch" cluster from DCS.
It was leeding to demote...
This commit is contained in:
Alexander Kukushkin
2015-10-08 13:07:38 +02:00
parent 8a844285ff
commit a6603e8b48
2 changed files with 5 additions and 4 deletions
+4 -3
View File
@@ -165,8 +165,8 @@ class ZooKeeper(AbstractDCS):
failover = Failover.from_node(failover[1].version, failover[0])
# get last leader operation
self.last_leader_operation = self.get_node(self.leader_optime_path) if self.fetch_cluster else None
self.last_leader_operation = 0 if self.last_leader_operation is None else int(self.last_leader_operation[0])
optime = self.get_node(self.leader_optime_path) if self._OPTIME in nodes and self.fetch_cluster else None
self.last_leader_operation = 0 if optime is None else int(optime[0])
self._cluster = Cluster(initialize, leader, self.last_leader_operation, members, failover)
def _load_cluster(self):
@@ -280,5 +280,6 @@ class ZooKeeper(AbstractDCS):
logger.exception("Unable to delete initialize key")
def watch(self, timeout):
self.fetch_cluster = super(ZooKeeper, self).watch(timeout)
if super(ZooKeeper, self).watch(timeout):
self.fetch_cluster = True
return self.fetch_cluster
+1 -1
View File
@@ -172,5 +172,5 @@ class TestZooKeeper(unittest.TestCase):
def test_watch(self):
self.zk.watch(0)
self.zk.event.isSet = lambda: False
self.zk.event.isSet = lambda: True
self.zk.watch(0)