From 5f387e7e5d9a64616c411d5113ea90148ad144a0 Mon Sep 17 00:00:00 2001 From: Tatsuo Ishii Date: Wed, 23 May 2018 17:18:42 +0900 Subject: [PATCH] Fix wrong parameter passed to failover script. From 3.7.2, one of the failover script parameters, namely old primary node was not passed correctly. PRIMARY_NODE_ID macro was used for the parameter value. Unfortunately it checks the node status since 3.7.2 and gives value 0 if the node is in down status. The node status could be down if former primary node was going down. To fix this, use REAL_PRIMARY_NODE_ID macro which returns the current primary node id regardless the node status. Problem reported by Pierre Timmermans in [pgpool-general: 6092]. --- src/main/pgpool_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/pgpool_main.c b/src/main/pgpool_main.c index a4b46b65d..74508e1c1 100644 --- a/src/main/pgpool_main.c +++ b/src/main/pgpool_main.c @@ -1892,7 +1892,7 @@ static void failover(void) if (nodes[i]) { trigger_failover_command(i, pool_config->failover_command, - MASTER_NODE_ID, new_master, PRIMARY_NODE_ID); + MASTER_NODE_ID, new_master, REAL_PRIMARY_NODE_ID); sync_required = true; } } -- 2.39.5