From 2aa67c992c89c87a174d5cee4078fd8b785d6f7b Mon Sep 17 00:00:00 2001 From: Ian Barwick Date: Thu, 7 Mar 2019 10:58:25 +0900 Subject: [PATCH] Make recently added configuration options reloadable --- configfile.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/configfile.c b/configfile.c index 52b6cf75..556021e3 100644 --- a/configfile.c +++ b/configfile.c @@ -1097,6 +1097,10 @@ parse_time_unit_parameter(const char *name, const char *value, char *dest, ItemL * - reconnect_interval * - repmgrd_standby_startup_timeout * - retry_promote_interval_secs + * - standby_disconnect_on_failover + * - sibling_nodes_disconnect_timeout + * - connection_check_type + * - primary_visibility_consensus * * non-changeable options (repmgrd references these from the "repmgr.nodes" * table, not the configuration file) @@ -1354,6 +1358,25 @@ reload_config(t_configuration_options *orig_options, t_server_type server_type) config_changed = true; } + /* standby_disconnect_on_failover */ + if (orig_options->standby_disconnect_on_failover != new_options.standby_disconnect_on_failover) + { + orig_options->standby_disconnect_on_failover = new_options.standby_disconnect_on_failover; + log_info(_("\"standby_disconnect_on_failover\" is now \"%s\""), + new_options.standby_disconnect_on_failover == true ? "TRUE" : "FALSE"); + config_changed = true; + } + + /* sibling_nodes_disconnect_timeout */ + if (orig_options->sibling_nodes_disconnect_timeout != new_options.sibling_nodes_disconnect_timeout) + { + orig_options->sibling_nodes_disconnect_timeout = new_options.sibling_nodes_disconnect_timeout; + log_info(_("\"sibling_nodes_disconnect_timeout\" is now \"%i\""), + new_options.sibling_nodes_disconnect_timeout); + config_changed = true; + } + + /* connection_check_type */ if (orig_options->connection_check_type != new_options.connection_check_type) { orig_options->connection_check_type = new_options.connection_check_type; @@ -1362,6 +1385,16 @@ reload_config(t_configuration_options *orig_options, t_server_type server_type) config_changed = true; } + /* primary_visibility_consensus */ + if (orig_options->primary_visibility_consensus != new_options.primary_visibility_consensus) + { + orig_options->primary_visibility_consensus = new_options.primary_visibility_consensus; + log_info(_("\"primary_visibility_consensus\" is now \"%s\""), + new_options.primary_visibility_consensus == true ? "TRUE" : "FALSE"); + config_changed = true; + } + + /* * Handle changes to logging configuration */