diff --git a/repmgrd-physical.c b/repmgrd-physical.c index 31eded01..53770031 100644 --- a/repmgrd-physical.c +++ b/repmgrd-physical.c @@ -1853,6 +1853,7 @@ monitor_streaming_standby(void) if (PQstatus(cell->node_info->conn) != CONNECTION_OK) { log_debug("unable to connect to %i ... ", cell->node_info->node_id); + close_connection(&cell->node_info->conn); continue; } @@ -2470,6 +2471,7 @@ monitor_streaming_witness(void) if (PQstatus(cell->node_info->conn) != CONNECTION_OK) { log_debug("unable to connect to %i ... ", cell->node_info->node_id); + close_connection(&cell->node_info->conn); continue; } @@ -3585,6 +3587,8 @@ notify_followers(NodeInfoList *standby_nodes, int follow_node_id) cell->node_info->node_name, cell->node_info->node_id); + close_connection(&cell->node_info->conn); + cell->node_info->conn = establish_db_connection(cell->node_info->conninfo, false); } @@ -3595,6 +3599,7 @@ notify_followers(NodeInfoList *standby_nodes, int follow_node_id) cell->node_info->node_id); log_detail("\n%s", PQerrorMessage(cell->node_info->conn)); + close_connection(&cell->node_info->conn); continue; } @@ -4189,6 +4194,7 @@ do_election(NodeInfoList *sibling_nodes, int *new_primary_id) if (PQstatus(cell->node_info->conn) != CONNECTION_OK) { + close_connection(&cell->node_info->conn); continue; }