Clean up monitor initialization and destruction

Since monitors are now freed at MaxScale exit, the server data should be freed. Also,
gtid domain variables are now initialized with a common constant.
This commit is contained in:
Esa Korhonen
2018-05-09 14:53:41 +03:00
parent 75eded4b89
commit df4454027a
6 changed files with 38 additions and 22 deletions

View File

@ -354,7 +354,7 @@ uint32_t MariaDBMonitor::do_rejoin(const ServerArray& joinable_servers, json_t**
*/
bool MariaDBMonitor::cluster_can_be_joined()
{
return (m_master != NULL && m_master->is_master() && m_master_gtid_domain >= 0);
return (m_master != NULL && m_master->is_master() && m_master_gtid_domain != GTID_DOMAIN_UNKNOWN);
}
/**
@ -503,7 +503,7 @@ bool MariaDBMonitor::do_switchover(MariaDBServer** current_master, MariaDBServer
demotion_target = *current_master;
}
if (m_master_gtid_domain < 0)
if (m_master_gtid_domain == GTID_DOMAIN_UNKNOWN)
{
PRINT_MXS_JSON_ERROR(err_out, "Cluster gtid domain is unknown. Cannot switchover.");
return false;
@ -657,7 +657,7 @@ bool MariaDBMonitor::do_switchover(MariaDBServer** current_master, MariaDBServer
bool MariaDBMonitor::do_failover(json_t** err_out)
{
// Topology has already been tested to be simple.
if (m_master_gtid_domain < 0)
if (m_master_gtid_domain == GTID_DOMAIN_UNKNOWN)
{
PRINT_MXS_JSON_ERROR(err_out, "Cluster gtid domain is unknown. Cannot failover.");
return false;