patroni/debian/patches/reclone-unable-pg_rewind.patch
Michael Banck ec96dc075d * debian/patches/reclone-unable-pg_rewind.patch: New patch, reclones from the
primary if use_pg_rewind and remove_data_directory_on_rewind_failure are
    set, but the postgres password is empty.
2019-02-08 17:40:16 +01:00

23 lines
1.1 KiB
Diff

diff --git a/patroni/postgresql.py b/patroni/postgresql.py
index d031d84..a006660 100644
--- a/patroni/postgresql.py
+++ b/patroni/postgresql.py
@@ -1400,7 +1400,16 @@ class Postgresql(object):
# make it store the new timeline (5540277D.8020309@iki.fi)
leader_status = self.checkpoint(r)
if leader_status:
- return logger.warning('Can not use %s for rewind: %s', leader.name, leader_status)
+ logger.warning('Can not use %s for rewind: %s', leader.name, leader_status)
+ for name in ('remove_data_directory_on_rewind_failure', 'remove_data_directory_on_diverged_timelines'):
+ if self.config.get(name):
+ logger.warning('%s is set. removing...', name)
+ self.remove_data_directory()
+ self._rewind_state = REWIND_STATUS.INITIAL
+ break
+ else:
+ self._rewind_state = REWIND_STATUS.FAILED
+ return False
if self.pg_rewind(r):
self._rewind_state = REWIND_STATUS.SUCCESS