mirror of
https://github.com/EnterpriseDB/repmgr.git
synced 2026-03-26 16:46:28 +00:00
Fix usage of get_primary_node_record()
This commit is contained in:
@@ -275,7 +275,7 @@ do_primary_unregister(void)
|
|||||||
|
|
||||||
log_error(_("unable to connect to primary server"));
|
log_error(_("unable to connect to primary server"));
|
||||||
|
|
||||||
if (get_primary_node_record(local_conn, &primary_node_info))
|
if (get_primary_node_record(local_conn, &primary_node_info) == true)
|
||||||
{
|
{
|
||||||
log_detail(_("current primary registered as node %s (id: %i, conninfo: \"%s\")"),
|
log_detail(_("current primary registered as node %s (id: %i, conninfo: \"%s\")"),
|
||||||
primary_node_info.node_name,
|
primary_node_info.node_name,
|
||||||
|
|||||||
@@ -904,9 +904,7 @@ do_upstream_standby_failover(void)
|
|||||||
PQfinish(upstream_conn);
|
PQfinish(upstream_conn);
|
||||||
upstream_conn = NULL;
|
upstream_conn = NULL;
|
||||||
|
|
||||||
record_status = get_primary_node_record(local_conn, &primary_node_info);
|
if (get_primary_node_record(local_conn, &primary_node_info) == false)
|
||||||
|
|
||||||
if (record_status != RECORD_FOUND)
|
|
||||||
{
|
{
|
||||||
log_error(_("unable to retrieve primary node record"));
|
log_error(_("unable to retrieve primary node record"));
|
||||||
return false;
|
return false;
|
||||||
@@ -1007,9 +1005,18 @@ do_upstream_standby_failover(void)
|
|||||||
|
|
||||||
terminate(ERR_BAD_CONFIG);
|
terminate(ERR_BAD_CONFIG);
|
||||||
}
|
}
|
||||||
/* update own internal node record */
|
|
||||||
record_status = get_node_record(primary_conn, local_node_info.node_id, &local_node_info);
|
|
||||||
|
|
||||||
|
/* refresh own internal node record */
|
||||||
|
record_status = get_node_record(primary_conn, local_node_info.node_id, &local_node_info);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* highly improbable this will happen, but in case we're unable to retrieve
|
||||||
|
* our node record from the primary, update it ourselves, and hope for the best
|
||||||
|
*/
|
||||||
|
if (record_status != RECORD_FOUND)
|
||||||
|
{
|
||||||
|
local_node_info.upstream_node_id = primary_node_info.node_id;
|
||||||
|
}
|
||||||
|
|
||||||
appendPQExpBuffer(&event_details,
|
appendPQExpBuffer(&event_details,
|
||||||
_("node %i is now following primary node %i"),
|
_("node %i is now following primary node %i"),
|
||||||
@@ -1027,11 +1034,9 @@ do_upstream_standby_failover(void)
|
|||||||
|
|
||||||
termPQExpBuffer(&event_details);
|
termPQExpBuffer(&event_details);
|
||||||
|
|
||||||
|
|
||||||
PQfinish(primary_conn);
|
PQfinish(primary_conn);
|
||||||
primary_conn = NULL;
|
primary_conn = NULL;
|
||||||
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user