diff --git a/patroni/ha.py b/patroni/ha.py index d974951b..7a31c1fe 100644 --- a/patroni/ha.py +++ b/patroni/ha.py @@ -400,6 +400,7 @@ class Ha(object): 'following new leader after trying and failing to obtain lock') else: # when we are doing manual failover there is no guaranty that new leader is ahead of any other node + # node tagged as nofailover can be ahead of the new leader either, but it is always excluded from elections need_rewind = bool(self.cluster.failover) or self.patroni.nofailover if need_rewind: sleep(2) # Give a time to somebody to take the leader lock diff --git a/patroni/postgresql.py b/patroni/postgresql.py index ce8b6183..b023faf2 100644 --- a/patroni/postgresql.py +++ b/patroni/postgresql.py @@ -774,6 +774,8 @@ class Postgresql(object): self._need_rewind = False if self.is_running(): return + elif change_role: + self._need_rewind = True self._need_rewind &= bool(leader and leader.conn_url) and self.can_rewind