Skip to content

Commit

Permalink
Reset restart_pending flag when parameter was set to the old value
Browse files Browse the repository at this point in the history
but restart didn't happened.
And small bugfix: node can't rewind from themself.
  • Loading branch information
Alexander Kukushkin committed Jun 13, 2016
1 parent a24b29d commit 3ff1106
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions patroni/postgresql.py
Expand Up @@ -154,7 +154,7 @@ def resolve_connection_addresses(self):
def reload_config(self, config):
server_parameters = self.get_server_parameters(config)

listen_address_changed = pending_reload = False
listen_address_changed = pending_reload = pending_restart = False
if self.is_healthy():
changes = {p: v for p, v in server_parameters.items() if '.' not in p}
changes.update({p: None for p, v in self._server_parameters.items() if not ('.' in p or p in changes)})
Expand All @@ -177,7 +177,7 @@ def reload_config(self, config):
new_value = changes.pop(r[0])
if new_value is None or not compare_values(r[3], unit, r[1], new_value):
if r[4] == 'postmaster':
self._pending_restart = True
pending_restart = True
if r[0] in ('listen_addresses', 'port'):
listen_address_changed = True
else:
Expand All @@ -200,6 +200,7 @@ def reload_config(self, config):
break

self.config = config
self._pending_restart = pending_restart
self._server_parameters = server_parameters
self._connect_address = config.get('connect_address')

Expand Down Expand Up @@ -718,7 +719,7 @@ def follow(self, member, leader, recovery=False):
need_rewind = change_role and self.can_rewind
if need_rewind:
logger.info("set the rewind flag after demote")
if leader and need_rewind: # we have a leader and need to rewind
if leader and leader.name != self.name and need_rewind: # we have a leader and need to rewind
if self.is_running():
self.stop()
# at present, pg_rewind only runs when the cluster is shut down cleanly
Expand Down

0 comments on commit 3ff1106

Please sign in to comment.