From a8949b25607d85724d0e4e92262344036cf7fd3b Mon Sep 17 00:00:00 2001 From: Esa Korhonen Date: Wed, 6 Mar 2019 14:41:06 +0200 Subject: [PATCH] MXS-2271 Move free monitor functions into classes Functions are divided to MonitorManager, Monitor, or the monitored server. --- include/maxscale/monitor.hh | 90 +++++++------------ server/core/internal/monitor.hh | 22 +++++ server/core/monitor.cc | 88 +++++++++--------- server/core/resource.cc | 4 +- server/core/server.cc | 2 +- server/modules/monitor/auroramon/auroramon.cc | 6 +- .../monitor/clustrixmon/clustrixmonitor.cc | 8 +- server/modules/monitor/csmon/csmon.cc | 6 +- server/modules/monitor/galeramon/galeramon.cc | 28 +++--- server/modules/monitor/grmon/grmon.cc | 16 ++-- .../modules/monitor/mariadbmon/mariadbmon.cc | 4 +- .../monitor/mariadbmon/mariadbserver.cc | 4 +- .../monitor/ndbclustermon/ndbclustermon.cc | 8 +- 13 files changed, 138 insertions(+), 148 deletions(-) diff --git a/include/maxscale/monitor.hh b/include/maxscale/monitor.hh index b38ff7cbd..1210093b5 100644 --- a/include/maxscale/monitor.hh +++ b/include/maxscale/monitor.hh @@ -150,8 +150,6 @@ public: int connect_attempts {1}; /**< How many times a connection is attempted */ }; - MXS_MONITORED_SERVER(SERVER* server); - /** * Maintenance mode request constants. */ @@ -161,6 +159,37 @@ public: static const int BEING_DRAINED_OFF = 3; static const int BEING_DRAINED_ON = 4; + MXS_MONITORED_SERVER(SERVER* server); + + /** + * Set pending status bits in the monitor server + * + * @param bits The bits to set for the server + */ + void set_pending_status(uint64_t bits); + + /** + * Clear pending status bits in the monitor server + * + * @param bits The bits to clear for the server + */ + void clear_pending_status(uint64_t bits); + + /** + * Store the current server status to the previous and pending status + * fields of the monitored server. + */ + void stash_current_status(); + + bool status_changed(); + bool should_print_fail_status(); + void log_connect_error(mxs_connect_result_t rval); + + /** + * Report query error to log. + */ + void mon_report_query_error(); + /** * Ping or connect to a database. If connection does not exist or ping fails, a new connection is created. * This will always leave a valid database handle in the database->con pointer, allowing the user to call @@ -484,33 +513,6 @@ extern const char CN_MONITOR_INTERVAL[]; extern const char CN_SCRIPT[]; extern const char CN_SCRIPT_TIMEOUT[]; -/** - * Store the current server status to the previous and pending status - * fields of the monitored server. - * - * @param mserver The monitored server to update - */ -void monitor_stash_current_status(MXS_MONITORED_SERVER* ptr); - -/** - * Clear pending status bits in the monitor server - * - * @param mserver The monitored server to update - * @param bit The bits to clear for the server - */ -void monitor_clear_pending_status(MXS_MONITORED_SERVER* mserver, uint64_t bit); - -/** - * Set pending status bits in the monitor server - * - * @param mserver The monitored server to update - * @param bit The bits to set for the server - */ -void monitor_set_pending_status(MXS_MONITORED_SERVER* mserver, uint64_t bit); - -bool mon_status_changed(MXS_MONITORED_SERVER* mon_srv); -bool mon_print_fail_status(MXS_MONITORED_SERVER* mon_srv); - /** * Ping or connect to a database. If connection does not exist or ping fails, a new connection * is created. This will always leave a valid database handle in @c *ppCon, allowing the user @@ -526,16 +528,8 @@ mxs_connect_result_t mon_ping_or_connect_to_db(const MXS_MONITORED_SERVER::Conne SERVER& server, MYSQL** ppConn); bool mon_connection_is_ok(mxs_connect_result_t connect_result); -void mon_log_connect_error(MXS_MONITORED_SERVER* database, mxs_connect_result_t rval); const char* mon_get_event_name(mxs_monitor_event_t event); -/** - * @brief Report query errors - * - * @param db Database where the query failed - */ -void mon_report_query_error(MXS_MONITORED_SERVER* db); - /** * @brief Convert monitor to JSON * @@ -546,28 +540,6 @@ void mon_report_query_error(MXS_MONITORED_SERVER* db); */ json_t* monitor_to_json(const Monitor* monitor, const char* host); -/** - * @brief Convert all monitors to JSON - * - * @param host Hostname of this server - * - * @return JSON array containing all monitors - */ -json_t* monitor_list_to_json(const char* host); - -/** - * @brief Get links to monitors that relate to a server - * - * @param server Server to inspect - * @param host Hostname of this server - * - * @return Array of monitor links or NULL if no relations exist - */ -json_t* monitor_relations_to_server(const SERVER* server, const char* host); - -// Function for waiting one monitor interval -void monitor_debug_wait(); - namespace maxscale { diff --git a/server/core/internal/monitor.hh b/server/core/internal/monitor.hh index 0f8eb19f8..733b31f17 100644 --- a/server/core/internal/monitor.hh +++ b/server/core/internal/monitor.hh @@ -127,6 +127,28 @@ public: * @param monitor The monitor to stop */ static void monitor_stop(Monitor*); + + /** + * Get links to monitors that relate to a server. + * + * @param server Server to inspect + * @param host Hostname of this server + * @return Array of monitor links or NULL if no relations exist + */ + static json_t* monitor_relations_to_server(const SERVER* server, const char* host); + + /** + * Convert all monitors to JSON. + * + * @param host Hostname of this server + * @return JSON array containing all monitors + */ + static json_t* monitor_list_to_json(const char* host); + + /** + * Waits until all running monitors have advanced one tick. + */ + static void monitor_debug_wait(); }; diff --git a/server/core/monitor.cc b/server/core/monitor.cc index 5ab160cdc..3dc122c47 100644 --- a/server/core/monitor.cc +++ b/server/core/monitor.cc @@ -715,20 +715,20 @@ bool Monitor::test_permissions(const string& query) return rval; } -void monitor_stash_current_status(MXS_MONITORED_SERVER* ptr) +void MXS_MONITORED_SERVER::stash_current_status() { - ptr->mon_prev_status = ptr->server->status; - ptr->pending_status = ptr->server->status; + mon_prev_status = server->status; + pending_status = server->status; } -void monitor_set_pending_status(MXS_MONITORED_SERVER* ptr, uint64_t bit) +void MXS_MONITORED_SERVER::set_pending_status(uint64_t bits) { - ptr->pending_status |= bit; + pending_status |= bits; } -void monitor_clear_pending_status(MXS_MONITORED_SERVER* ptr, uint64_t bit) +void MXS_MONITORED_SERVER::clear_pending_status(uint64_t bits) { - ptr->pending_status &= ~bit; + pending_status &= ~bits; } /* @@ -944,21 +944,20 @@ void Monitor::append_node_names(char* dest, int len, int status, credentials_app } /** - * Check if current monitored server status has changed + * Check if current monitored server status has changed. * - * @param mon_srv The monitored server - * @return true if status has changed or false + * @return true if status has changed */ -bool mon_status_changed(MXS_MONITORED_SERVER* mon_srv) +bool MXS_MONITORED_SERVER::status_changed() { bool rval = false; /* Previous status is -1 if not yet set */ - if (mon_srv->mon_prev_status != static_cast(-1)) + if (mon_prev_status != static_cast(-1)) { - uint64_t old_status = mon_srv->mon_prev_status & all_server_bits; - uint64_t new_status = mon_srv->server->status & all_server_bits; + uint64_t old_status = mon_prev_status & all_server_bits; + uint64_t new_status = server->status & all_server_bits; /** * The state has changed if the relevant state bits are not the same, @@ -977,14 +976,13 @@ bool mon_status_changed(MXS_MONITORED_SERVER* mon_srv) } /** - * Check if current monitored server has a loggable failure status + * Check if current monitored server has a loggable failure status. * - * @param mon_srv The monitored server - * @return true if failed status can be logged or false + * @return true if failed status can be logged or false */ -bool mon_print_fail_status(MXS_MONITORED_SERVER* mon_srv) +bool MXS_MONITORED_SERVER::should_print_fail_status() { - return mon_srv->server->is_down() && mon_srv->mon_err_count == 0; + return server->is_down() && mon_err_count == 0; } static MXS_MONITORED_SERVER* find_parent_node(const std::vector& servers, @@ -1279,20 +1277,18 @@ bool mon_connection_is_ok(mxs_connect_result_t connect_result) /** * Log an error about the failure to connect to a backend server and why it happened. * - * @param database Backend database * @param rval Return value of mon_ping_or_connect_to_db */ -void mon_log_connect_error(MXS_MONITORED_SERVER* database, mxs_connect_result_t rval) +void MXS_MONITORED_SERVER::log_connect_error(mxs_connect_result_t rval) { - mxb_assert(!mon_connection_is_ok(rval) && database); + mxb_assert(!mon_connection_is_ok(rval)); const char TIMED_OUT[] = "Monitor timed out when connecting to server %s[%s:%d] : '%s'"; const char REFUSED[] = "Monitor was unable to connect to server %s[%s:%d] : '%s'"; - auto srv = database->server; MXS_ERROR(rval == MONITOR_CONN_TIMEOUT ? TIMED_OUT : REFUSED, - srv->name(), - srv->address, - srv->port, - mysql_error(database->con)); + server->name(), + server->address, + server->port, + mysql_error(con)); } static void mon_log_state_change(MXS_MONITORED_SERVER* ptr) @@ -1419,20 +1415,20 @@ void Monitor::hangup_failed_servers() { for (MXS_MONITORED_SERVER* ptr : m_servers) { - if (mon_status_changed(ptr) && (!(ptr->server->is_usable()) || !(ptr->server->is_in_cluster()))) + if (ptr->status_changed() && (!(ptr->server->is_usable()) || !(ptr->server->is_in_cluster()))) { dcb_hangup_foreach(ptr->server); } } } -void mon_report_query_error(MXS_MONITORED_SERVER* db) +void MXS_MONITORED_SERVER::mon_report_query_error() { MXS_ERROR("Failed to execute query on server '%s' ([%s]:%d): %s", - db->server->name(), - db->server->address, - db->server->port, - mysql_error(db->con)); + server->name(), + server->address, + server->port, + mysql_error(con)); } /** @@ -1488,7 +1484,7 @@ void Monitor::detect_handle_state_changes() for (MXS_MONITORED_SERVER* ptr : m_servers) { - if (mon_status_changed(ptr)) + if (ptr->status_changed()) { /** * The last executed event will be needed if a passive MaxScale is @@ -1604,7 +1600,7 @@ json_t* monitor_to_json(const Monitor* monitor, const char* host) return mxs_json_resource(host, self.c_str(), monitor_json_data(monitor, host)); } -json_t* monitor_list_to_json(const char* host) +json_t* MonitorManager::monitor_list_to_json(const char* host) { json_t* rval = json_array(); this_unit.foreach_monitor([rval, host](Monitor* mon) { @@ -1623,7 +1619,7 @@ json_t* monitor_list_to_json(const char* host) return mxs_json_resource(host, MXS_JSON_API_MONITORS, rval); } -json_t* monitor_relations_to_server(const SERVER* server, const char* host) +json_t* MonitorManager::monitor_relations_to_server(const SERVER* server, const char* host) { std::vector names; this_unit.foreach_monitor([&names, server](Monitor* mon) { @@ -1844,7 +1840,7 @@ static const char* process_server(Monitor* monitor, const char* data, const char uint64_t status = maxscale::get_byteN(sptr, MMB_LEN_SERVER_STATUS); db->mon_prev_status = status; db->server->set_status(status); - monitor_set_pending_status(db, status); + db->set_pending_status(status); break; } } @@ -2346,7 +2342,7 @@ void Monitor::populate_services() } } -void monitor_debug_wait() +void MonitorManager::monitor_debug_wait() { using namespace std::chrono; std::map ticks; @@ -2684,8 +2680,8 @@ void MonitorWorkerSimple::tick() if (mon_connection_is_ok(rval)) { - monitor_clear_pending_status(pMs, SERVER_AUTH_ERROR); - monitor_set_pending_status(pMs, SERVER_RUNNING); + pMs->clear_pending_status(SERVER_AUTH_ERROR); + pMs->set_pending_status(SERVER_RUNNING); if (should_update_disk_space_status(pMs)) { @@ -2703,25 +2699,25 @@ void MonitorWorkerSimple::tick() */ const uint64_t bits_to_clear = ~SERVER_WAS_MASTER; - monitor_clear_pending_status(pMs, bits_to_clear); + pMs->clear_pending_status(bits_to_clear); if (mysql_errno(pMs->con) == ER_ACCESS_DENIED_ERROR) { - monitor_set_pending_status(pMs, SERVER_AUTH_ERROR); + pMs->set_pending_status(SERVER_AUTH_ERROR); } else { - monitor_clear_pending_status(pMs, SERVER_AUTH_ERROR); + pMs->clear_pending_status(SERVER_AUTH_ERROR); } - if (mon_status_changed(pMs) && mon_print_fail_status(pMs)) + if (pMs->status_changed() && pMs->should_print_fail_status()) { - mon_log_connect_error(pMs, rval); + pMs->log_connect_error(rval); } } #if defined (SS_DEBUG) - if (mon_status_changed(pMs) || mon_print_fail_status(pMs)) + if (pMs->status_changed() || pMs->should_print_fail_status()) { // The current status is still in pMs->pending_status. MXS_DEBUG("Backend server [%s]:%d state : %s", diff --git a/server/core/resource.cc b/server/core/resource.cc index e8393cfcc..952b669f0 100644 --- a/server/core/resource.cc +++ b/server/core/resource.cc @@ -608,7 +608,7 @@ HttpResponse cb_get_filter(const HttpRequest& request) HttpResponse cb_all_monitors(const HttpRequest& request) { - return HttpResponse(MHD_HTTP_OK, monitor_list_to_json(request.host())); + return HttpResponse(MHD_HTTP_OK, MonitorManager::monitor_list_to_json(request.host())); } HttpResponse cb_get_monitor(const HttpRequest& request) @@ -742,7 +742,7 @@ HttpResponse cb_unix_user(const HttpRequest& request) HttpResponse cb_monitor_wait(const HttpRequest& request) { - monitor_debug_wait(); + MonitorManager::monitor_debug_wait(); return HttpResponse(MHD_HTTP_OK); } HttpResponse cb_create_user(const HttpRequest& request) diff --git a/server/core/server.cc b/server/core/server.cc index 34e261f6e..d7de48540 100644 --- a/server/core/server.cc +++ b/server/core/server.cc @@ -1087,7 +1087,7 @@ static json_t* server_to_json_data(const Server* server, const char* host) /** Relationships */ json_t* rel = json_object(); json_t* service_rel = service_relations_to_server(server, host); - json_t* monitor_rel = monitor_relations_to_server(server, host); + json_t* monitor_rel = MonitorManager::monitor_relations_to_server(server, host); if (service_rel) { diff --git a/server/modules/monitor/auroramon/auroramon.cc b/server/modules/monitor/auroramon/auroramon.cc index 1aa73ae41..586c95240 100644 --- a/server/modules/monitor/auroramon/auroramon.cc +++ b/server/modules/monitor/auroramon/auroramon.cc @@ -57,7 +57,7 @@ bool AuroraMonitor::has_sufficient_permissions() */ void AuroraMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server) { - monitor_clear_pending_status(monitored_server, SERVER_MASTER | SERVER_SLAVE); + monitored_server->clear_pending_status(SERVER_MASTER | SERVER_SLAVE); MYSQL_RES* result; @@ -78,12 +78,12 @@ void AuroraMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server) status = SERVER_MASTER; } - monitor_set_pending_status(monitored_server, status); + monitored_server->set_pending_status(status); mysql_free_result(result); } else { - mon_report_query_error(monitored_server); + monitored_server->mon_report_query_error(); } } diff --git a/server/modules/monitor/clustrixmon/clustrixmonitor.cc b/server/modules/monitor/clustrixmon/clustrixmonitor.cc index fb4b43566..85d2b590d 100644 --- a/server/modules/monitor/clustrixmon/clustrixmonitor.cc +++ b/server/modules/monitor/clustrixmon/clustrixmonitor.cc @@ -566,7 +566,7 @@ void ClustrixMonitor::update_server_statuses() for (auto ms : m_servers) { - monitor_stash_current_status(ms); + ms->stash_current_status(); auto it = find_if(m_nodes.begin(), m_nodes.end(), [ms](const std::pair& element) -> bool { @@ -580,16 +580,16 @@ void ClustrixMonitor::update_server_statuses() if (info.is_running()) { - monitor_set_pending_status(ms, SERVER_RUNNING); + ms->set_pending_status(SERVER_RUNNING); } else { - monitor_clear_pending_status(ms, SERVER_RUNNING); + ms->clear_pending_status(SERVER_RUNNING); } } else { - monitor_clear_pending_status(ms, SERVER_RUNNING); + ms->clear_pending_status(SERVER_RUNNING); } } } diff --git a/server/modules/monitor/csmon/csmon.cc b/server/modules/monitor/csmon/csmon.cc index 3ea0b120e..524ae3144 100644 --- a/server/modules/monitor/csmon/csmon.cc +++ b/server/modules/monitor/csmon/csmon.cc @@ -47,7 +47,7 @@ static std::string do_query(MXS_MONITORED_SERVER* srv, const char* query) } else { - mon_report_query_error(srv); + srv->mon_report_query_error(); } return rval; @@ -95,7 +95,7 @@ bool CsMonitor::has_sufficient_permissions() void CsMonitor::update_server_status(MXS_MONITORED_SERVER* srv) { - monitor_clear_pending_status(srv, SERVER_MASTER | SERVER_SLAVE | SERVER_RUNNING); + srv->clear_pending_status(SERVER_MASTER | SERVER_SLAVE | SERVER_RUNNING); int status = 0; if (do_query(srv, alive_query) == "1") @@ -114,7 +114,7 @@ void CsMonitor::update_server_status(MXS_MONITORED_SERVER* srv) } } - monitor_set_pending_status(srv, status); + srv->set_pending_status(status); } bool CsMonitor::configure(const MXS_CONFIG_PARAMETER* pParams) diff --git a/server/modules/monitor/galeramon/galeramon.cc b/server/modules/monitor/galeramon/galeramon.cc index da40e11c7..6acadba0e 100644 --- a/server/modules/monitor/galeramon/galeramon.cc +++ b/server/modules/monitor/galeramon/galeramon.cc @@ -224,7 +224,7 @@ void GaleraMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server) } else { - mon_report_query_error(monitored_server); + monitored_server->mon_report_query_error(); } } @@ -264,8 +264,8 @@ void GaleraMonitor::post_tick() if (ptr != m_master) { /* set the Slave role and clear master stickiness */ - monitor_clear_pending_status(ptr, repl_bits); - monitor_set_pending_status(ptr, SERVER_SLAVE); + ptr->clear_pending_status(repl_bits); + ptr->set_pending_status(SERVER_SLAVE); } else { @@ -273,14 +273,14 @@ void GaleraMonitor::post_tick() && m_master->server->node_id != candidate_master->server->node_id) { /* set master role and master stickiness */ - monitor_clear_pending_status(ptr, repl_bits); - monitor_set_pending_status(ptr, SERVER_MASTER | SERVER_MASTER_STICKINESS); + ptr->clear_pending_status(repl_bits); + ptr->set_pending_status(SERVER_MASTER | SERVER_MASTER_STICKINESS); } else { /* set master role and clear master stickiness */ - monitor_clear_pending_status(ptr, repl_bits); - monitor_set_pending_status(ptr, SERVER_MASTER); + ptr->clear_pending_status(repl_bits); + ptr->set_pending_status(SERVER_MASTER); } } @@ -288,8 +288,8 @@ void GaleraMonitor::post_tick() } else { - monitor_clear_pending_status(ptr, repl_bits); - monitor_set_pending_status(ptr, 0); + ptr->clear_pending_status(repl_bits); + ptr->set_pending_status(0); } } @@ -348,7 +348,7 @@ static bool using_xtrabackup(MXS_MONITORED_SERVER* database, const char* server_ } else { - mon_report_query_error(database); + database->mon_report_query_error(); } return rval; @@ -569,7 +569,7 @@ void GaleraMonitor::update_sst_donor_nodes(int is_cluster) } else { - mon_report_query_error(ptr); + ptr->mon_report_query_error(); } } @@ -587,7 +587,7 @@ void GaleraMonitor::update_sst_donor_nodes(int is_cluster) MXS_MONITORED_SERVER* ptr = node_list[k]; if (mxs_mysql_query(ptr->con, donor_list) != 0) { - mon_report_query_error(ptr); + ptr->mon_report_query_error(); } } @@ -713,11 +713,11 @@ void GaleraMonitor::set_galera_cluster() { if (it->second.joined) { - monitor_set_pending_status(it->first, SERVER_JOINED); + it->first->set_pending_status(SERVER_JOINED); } else { - monitor_clear_pending_status(it->first, SERVER_JOINED); + it->first->clear_pending_status(SERVER_JOINED); } } } diff --git a/server/modules/monitor/grmon/grmon.cc b/server/modules/monitor/grmon/grmon.cc index 070072567..e48b66c1c 100644 --- a/server/modules/monitor/grmon/grmon.cc +++ b/server/modules/monitor/grmon/grmon.cc @@ -74,7 +74,7 @@ static bool is_master(MXS_MONITORED_SERVER* server) } else { - mon_report_query_error(server); + server->mon_report_query_error(); } return rval; @@ -101,7 +101,7 @@ static bool is_slave(MXS_MONITORED_SERVER* server) } else { - mon_report_query_error(server); + server->mon_report_query_error(); } return rval; @@ -111,18 +111,18 @@ void GRMon::update_server_status(MXS_MONITORED_SERVER* monitored_server) { if (is_master(monitored_server)) { - monitor_set_pending_status(monitored_server, SERVER_MASTER); - monitor_clear_pending_status(monitored_server, SERVER_SLAVE); + monitored_server->set_pending_status(SERVER_MASTER); + monitored_server->clear_pending_status(SERVER_SLAVE); } else if (is_slave(monitored_server)) { - monitor_set_pending_status(monitored_server, SERVER_SLAVE); - monitor_clear_pending_status(monitored_server, SERVER_MASTER); + monitored_server->set_pending_status(SERVER_SLAVE); + monitored_server->clear_pending_status(SERVER_MASTER); } else { - monitor_clear_pending_status(monitored_server, SERVER_SLAVE); - monitor_clear_pending_status(monitored_server, SERVER_MASTER); + monitored_server->clear_pending_status(SERVER_SLAVE); + monitored_server->clear_pending_status(SERVER_MASTER); } } diff --git a/server/modules/monitor/mariadbmon/mariadbmon.cc b/server/modules/monitor/mariadbmon/mariadbmon.cc index f406cecd1..d12058b11 100644 --- a/server/modules/monitor/mariadbmon/mariadbmon.cc +++ b/server/modules/monitor/mariadbmon/mariadbmon.cc @@ -406,7 +406,7 @@ void MariaDBMonitor::update_server(MariaDBServer* server) * iteration. */ if (server->had_status(SERVER_RUNNING) || server->had_status(SERVER_MAINT)) { - mon_log_connect_error(mon_srv, conn_status); + mon_srv->log_connect_error(conn_status); } } @@ -657,7 +657,7 @@ void MariaDBMonitor::update_external_master() void MariaDBMonitor::log_master_changes() { MXS_MONITORED_SERVER* root_master = m_master ? m_master->m_server_base : NULL; - if (root_master && mon_status_changed(root_master) + if (root_master && root_master->status_changed() && !(root_master->pending_status & SERVER_WAS_MASTER)) { if ((root_master->pending_status & SERVER_MASTER) && m_master->is_running()) diff --git a/server/modules/monitor/mariadbmon/mariadbserver.cc b/server/modules/monitor/mariadbmon/mariadbserver.cc index 4cb2a45e3..b3dc33da3 100644 --- a/server/modules/monitor/mariadbmon/mariadbserver.cc +++ b/server/modules/monitor/mariadbmon/mariadbserver.cc @@ -991,12 +991,12 @@ void MariaDBServer::check_permissions() void MariaDBServer::clear_status(uint64_t bits) { - monitor_clear_pending_status(m_server_base, bits); + m_server_base->clear_pending_status(bits); } void MariaDBServer::set_status(uint64_t bits) { - monitor_set_pending_status(m_server_base, bits); + m_server_base->set_pending_status(bits); } /** diff --git a/server/modules/monitor/ndbclustermon/ndbclustermon.cc b/server/modules/monitor/ndbclustermon/ndbclustermon.cc index 3437d8cb4..e976872a1 100644 --- a/server/modules/monitor/ndbclustermon/ndbclustermon.cc +++ b/server/modules/monitor/ndbclustermon/ndbclustermon.cc @@ -76,7 +76,7 @@ void NDBCMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server) } else { - mon_report_query_error(monitored_server); + monitored_server->mon_report_query_error(); } /* Check the the SQL node id in the MySQL cluster */ @@ -108,16 +108,16 @@ void NDBCMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server) } else { - mon_report_query_error(monitored_server); + monitored_server->mon_report_query_error(); } if (isjoined) { - monitor_set_pending_status(monitored_server, SERVER_NDB); + monitored_server->set_pending_status(SERVER_NDB); } else { - monitor_clear_pending_status(monitored_server, SERVER_NDB); + monitored_server->clear_pending_status(SERVER_NDB); } }