From 673bde2b7f12958f3699cf323472af1de6a0af6e Mon Sep 17 00:00:00 2001 From: Ian Barwick Date: Tue, 17 Jul 2018 13:35:45 +0900 Subject: [PATCH] repmgr: fix "primary_slot_name" when using "standby clone" with --recovery-conf-only Addresses GitHub #474. --- HISTORY | 2 ++ doc/appendix-release-notes.sgml | 7 +++++++ repmgr-action-standby.c | 7 ++++--- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/HISTORY b/HISTORY index 16de911f..c8f670a8 100644 --- a/HISTORY +++ b/HISTORY @@ -16,6 +16,8 @@ GitHub #453 (Ian) repmgr: fix witness node handling in "node check"/"node status"; GitHub #451 (Ian) + repmgr: fix "primary_slot_name" when using "standby clone" with --recovery-conf-only; + GitHub #474 (Ian) repmgr: enable "witness unregister" to be run on any node; GitHub #472 (Ian) repmgrd: create a PID file by default; GitHub #457 (Ian) repmgrd: daemonize process by default; GitHub #458 (Ian) diff --git a/doc/appendix-release-notes.sgml b/doc/appendix-release-notes.sgml index 8345a517..f3e5e22a 100644 --- a/doc/appendix-release-notes.sgml +++ b/doc/appendix-release-notes.sgml @@ -170,6 +170,13 @@ + + + When using repmgr standby clone + with and replication slots, ensure + primary_slot_name is set correctly. (GitHub #474). + + diff --git a/repmgr-action-standby.c b/repmgr-action-standby.c index 424d8183..c49916f3 100644 --- a/repmgr-action-standby.c +++ b/repmgr-action-standby.c @@ -1054,6 +1054,7 @@ _do_create_recovery_conf(void) local_node_record.slot_name, upstream_node_record.node_name, upstream_node_id); + if (runtime_options.force == false && runtime_options.dry_run == false) { log_error("%s", msg.data); @@ -1085,7 +1086,7 @@ _do_create_recovery_conf(void) initPQExpBuffer(&msg); appendPQExpBuffer(&msg, - _("insufficient free replicaiton slots on upstream node \"%s\" (ID: %i)"), + _("insufficient free replication slots on upstream node \"%s\" (ID: %i)"), upstream_node_record.node_name, upstream_node_id); @@ -1141,14 +1142,14 @@ _do_create_recovery_conf(void) if (runtime_options.dry_run == true) { char recovery_conf_contents[MAXLEN] = ""; - create_recovery_file(&upstream_node_record, &recovery_conninfo, recovery_conf_contents, false); + create_recovery_file(&local_node_record, &recovery_conninfo, recovery_conf_contents, false); log_info(_("would create \"recovery.conf\" file in \"%s\""), local_data_directory); log_detail(_("\n%s"), recovery_conf_contents); } else { - if (!create_recovery_file(&upstream_node_record, &recovery_conninfo, local_data_directory, true)) + if (!create_recovery_file(&local_node_record, &recovery_conninfo, local_data_directory, true)) { log_error(_("unable to create \"recovery.conf\"")); }