From 3d4b81ba2a0999b95815c2b5950397b206251a20 Mon Sep 17 00:00:00 2001 From: Ian Barwick Date: Thu, 28 Mar 2019 14:52:16 +0900 Subject: [PATCH] Handle unhandled error situation in enable_wal_receiver() --- sysutils.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/sysutils.c b/sysutils.c index 7aa5687c..929cb08e 100644 --- a/sysutils.c +++ b/sysutils.c @@ -310,18 +310,26 @@ enable_wal_receiver(PGconn *conn, bool wait_startup) if (wal_retrieve_retry_interval > WALRECEIVER_DISABLE_TIMEOUT_VALUE) { int new_wal_retrieve_retry_interval = wal_retrieve_retry_interval - WALRECEIVER_DISABLE_TIMEOUT_VALUE; + bool success; + log_notice(_("setting \"wal_retrieve_retry_interval\" to %i ms"), new_wal_retrieve_retry_interval); - // XXX handle error - alter_system_int(conn, - "wal_retrieve_retry_interval", - new_wal_retrieve_retry_interval); + success = alter_system_int(conn, + "wal_retrieve_retry_interval", + new_wal_retrieve_retry_interval); + + if (success == false) + { + log_warning(_("unable to change \"wal_retrieve_retry_interval\"")); + return UNKNOWN_PID; + } + pg_reload_conf(conn); } else { - // XXX add threshold sanity check + /* TODO: add threshold sanity check */ log_info(_("\"wal_retrieve_retry_interval\" is %i, not changing"), wal_retrieve_retry_interval); }