From 6f0263e1530b70c90e429abefe90b8f9e56dfb55 Mon Sep 17 00:00:00 2001 From: Tatsuo Ishii Date: Wed, 25 Aug 2021 09:52:39 +0900 Subject: [PATCH] Fix pgpool_setup to do nothing when no new main node is available. When no new main node is available due to there's only 1 node remaining, pgpool_setup tried to promote a node with node id -1. This is impossible. Fix is just skipping whole failover process if new main node id is -1. --- src/test/pgpool_setup.in | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/test/pgpool_setup.in b/src/test/pgpool_setup.in index 331db7f38..22c5f8932 100644 --- a/src/test/pgpool_setup.in +++ b/src/test/pgpool_setup.in @@ -193,6 +193,12 @@ PGPOOL_BIN=__PGPOOL_INSTALL_DIR__/bin date >> $log echo "failed_node_id $failed_node_id failed_host_name $failed_host_name failed_port $failed_port failed_db_cluster $failed_db_cluster new_main_id $new_main_id old_main_id $old_main_id new_main_host_name $new_main_host_name old_primary_node_id $old_primary_node_id new_main_port_number $new_main_port_number new_main_db_cluster $new_main_db_cluster" >> $log +# check if all node is down +if [ $new_main_id = "-1" ];then + echo "no new main node is available" >>$log + exit 0 +fi + if [ a"$failed_node_id" = a"$old_primary_node_id" ];then # main node failed ! new_primary_db_cluster=${mydir}/data"$new_main_id" echo $pg_ctl -D $new_primary_db_cluster promote >>$log # let standby take over -- 2.39.5