MXS-1775 Add MonitorInstanceSimple class
MonitorInstanceSimple is intended for simple monitors that probe servers in a straightforward fashion. More complex monitors can be derived directly from MonitorInstance.
This commit is contained in:
@ -26,7 +26,7 @@
|
||||
|
||||
|
||||
AuroraMonitor::AuroraMonitor(MXS_MONITOR* monitor)
|
||||
: maxscale::MonitorInstance(monitor)
|
||||
: maxscale::MonitorInstanceSimple(monitor)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
* @file auroramon.hh - The Aurora monitor
|
||||
*/
|
||||
|
||||
class AuroraMonitor : public maxscale::MonitorInstance
|
||||
class AuroraMonitor : public maxscale::MonitorInstanceSimple
|
||||
{
|
||||
public:
|
||||
AuroraMonitor(const AuroraMonitor&) = delete;
|
||||
|
||||
@ -47,7 +47,7 @@ static void nodeval_free(GALERA_NODE_INFO *);
|
||||
static bool using_xtrabackup(MXS_MONITORED_SERVER *database, const char* server_string);
|
||||
|
||||
GaleraMonitor::GaleraMonitor(MXS_MONITOR *mon)
|
||||
: maxscale::MonitorInstance(mon)
|
||||
: maxscale::MonitorInstanceSimple(mon)
|
||||
, m_id(MXS_MONITOR_DEFAULT_ID)
|
||||
, m_disableMasterFailback(0)
|
||||
, m_availableWhenDonor(0)
|
||||
@ -293,10 +293,8 @@ void GaleraMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server)
|
||||
}
|
||||
}
|
||||
|
||||
void GaleraMonitor::tick()
|
||||
void GaleraMonitor::post_tick()
|
||||
{
|
||||
MonitorInstance::tick();
|
||||
|
||||
int is_cluster = 0;
|
||||
|
||||
/* Try to set a Galera cluster based on
|
||||
|
||||
@ -52,7 +52,7 @@ typedef struct galera_cluster_info
|
||||
} GALERA_CLUSTER_INFO;
|
||||
|
||||
|
||||
class GaleraMonitor : public maxscale::MonitorInstance
|
||||
class GaleraMonitor : public maxscale::MonitorInstanceSimple
|
||||
{
|
||||
public:
|
||||
GaleraMonitor(const GaleraMonitor&) = delete;
|
||||
@ -67,7 +67,7 @@ protected:
|
||||
bool configure(const MXS_CONFIG_PARAMETER* param);
|
||||
bool has_sufficient_permissions() const;
|
||||
void update_server_status(MXS_MONITORED_SERVER* monitored_server);
|
||||
void tick();
|
||||
void post_tick();
|
||||
|
||||
private:
|
||||
unsigned long m_id; /**< Monitor ID */
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
|
||||
|
||||
GRMon::GRMon(MXS_MONITOR* monitor)
|
||||
: MonitorInstance(monitor)
|
||||
: MonitorInstanceSimple(monitor)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
* @file grmon.hh A MySQL Group Replication cluster monitor
|
||||
*/
|
||||
|
||||
class GRMon : public maxscale::MonitorInstance
|
||||
class GRMon : public maxscale::MonitorInstanceSimple
|
||||
{
|
||||
public:
|
||||
GRMon(const GRMon&) = delete;
|
||||
|
||||
@ -332,13 +332,6 @@ void MariaDBMonitor::update_server(MariaDBServer& server)
|
||||
mon_srv->mon_err_count = (is_running || in_maintenance) ? 0 : mon_srv->mon_err_count + 1;
|
||||
}
|
||||
|
||||
void MariaDBMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server)
|
||||
{
|
||||
// Not used and should not be called. Is there a way to check this "statically" (without
|
||||
// template magic)?
|
||||
ss_dassert(!true);
|
||||
}
|
||||
|
||||
void MariaDBMonitor::pre_loop()
|
||||
{
|
||||
// MonitorInstance loaded from the journal the current master into its
|
||||
|
||||
@ -163,7 +163,6 @@ private:
|
||||
MariaDBServer* get_server_info(MXS_MONITORED_SERVER* db);
|
||||
MariaDBServer* get_server(int64_t id);
|
||||
void update_server(MariaDBServer& server);
|
||||
void update_server_status(MXS_MONITORED_SERVER* pMonitored_server); // Not used
|
||||
|
||||
// Cluster discovery and status assignment methods
|
||||
MariaDBServer* find_root_master();
|
||||
|
||||
@ -36,7 +36,7 @@ static void detectStaleMaster(void *, int);
|
||||
static bool isMySQLEvent(mxs_monitor_event_t event);
|
||||
|
||||
MMMonitor::MMMonitor(MXS_MONITOR *monitor)
|
||||
: maxscale::MonitorInstance(monitor)
|
||||
: maxscale::MonitorInstanceSimple(monitor)
|
||||
, m_id(MXS_MONITOR_DEFAULT_ID)
|
||||
, m_detectStaleMaster(false)
|
||||
{
|
||||
@ -318,10 +318,8 @@ void MMMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server)
|
||||
}
|
||||
}
|
||||
|
||||
void MMMonitor::tick()
|
||||
void MMMonitor::post_tick()
|
||||
{
|
||||
MonitorInstance::tick();
|
||||
|
||||
/* Get Master server pointer */
|
||||
MXS_MONITORED_SERVER *root_master = get_current_master();
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
* @file mmmon.hh - The Multi-Master monitor
|
||||
*/
|
||||
|
||||
class MMMonitor : public maxscale::MonitorInstance
|
||||
class MMMonitor : public maxscale::MonitorInstanceSimple
|
||||
{
|
||||
public:
|
||||
MMMonitor(const MMMonitor&) = delete;
|
||||
@ -35,7 +35,7 @@ protected:
|
||||
bool configure(const MXS_CONFIG_PARAMETER* params);
|
||||
bool has_sufficient_permissions() const;
|
||||
void update_server_status(MXS_MONITORED_SERVER* monitored_server);
|
||||
void tick();
|
||||
void post_tick();
|
||||
|
||||
private:
|
||||
unsigned long m_id; /**< Monitor ID */
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
|
||||
|
||||
NDBCMonitor::NDBCMonitor(MXS_MONITOR *monitor)
|
||||
: maxscale::MonitorInstance(monitor)
|
||||
: maxscale::MonitorInstanceSimple(monitor)
|
||||
, m_id(MXS_MONITOR_DEFAULT_ID)
|
||||
{
|
||||
}
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
* @file ndbcclustermon.hh A NDBC cluster monitor
|
||||
*/
|
||||
|
||||
class NDBCMonitor : public maxscale::MonitorInstance
|
||||
class NDBCMonitor : public maxscale::MonitorInstanceSimple
|
||||
{
|
||||
public:
|
||||
NDBCMonitor(const NDBCMonitor&) = delete;
|
||||
|
||||
Reference in New Issue
Block a user