repmgr master register: ensure event record is always written

This commit is contained in:
Ian Barwick
2017-06-11 23:36:47 +09:00
parent aa53514f9f
commit 8720c9be45

View File

@@ -12,6 +12,12 @@
#include "repmgr-action-master.h"
/*
* do_master_register()
*
* Event(s):
* - master_register
*/
void
do_master_register(void)
{
@@ -178,6 +184,15 @@ do_master_register(void)
}
if (record_created == false)
{
rollback_transaction(conn);
}
else
{
commit_transaction(conn);
}
/* Log the event */
create_event_record(conn,
&config_file_options,
@@ -186,18 +201,15 @@ do_master_register(void)
record_created,
event_description.data);
PQfinish(conn);
if (record_created == false)
{
rollback_transaction(conn);
PQfinish(conn);
log_notice(_("unable to register master node - see preceding messages"));
exit(ERR_DB_QUERY);
}
commit_transaction(conn);
PQfinish(conn);
if (record_found)
{
log_notice(_("master node record (id: %i) updated"),
@@ -212,6 +224,14 @@ do_master_register(void)
return;
}
/*
* do_master_unregister()
*
* Event(s):
* - master_unregister
*/
void
do_master_unregister(void)
{