Add more error messages to monitors
When the execution of a query fails, the error reported by the Connector-C and the server where the query was executed is logged.
This commit is contained in:
@ -243,4 +243,11 @@ void mon_process_state_changes(MXS_MONITOR *monitor, const char *script, uint64_
|
||||
*/
|
||||
void mon_hangup_failed_servers(MXS_MONITOR *monitor);
|
||||
|
||||
/**
|
||||
* @brief Report query errors
|
||||
*
|
||||
* @param db Database where the query failed
|
||||
*/
|
||||
void mon_report_query_error(MXS_MONITOR_SERVERS* db);
|
||||
|
||||
MXS_END_DECLS
|
||||
|
@ -1430,6 +1430,14 @@ void mon_hangup_failed_servers(MXS_MONITOR *monitor)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void mon_report_query_error(MXS_MONITOR_SERVERS* db)
|
||||
{
|
||||
MXS_ERROR("Failed to execute query on server '%s' ([%s]:%d): %s",
|
||||
db->server->unique_name, db->server->name,
|
||||
db->server->port, mysql_error(db->con));
|
||||
}
|
||||
|
||||
/**
|
||||
* Acquire locks on all servers monitored by this monitor. There should
|
||||
* only be max 1 monitor per server.
|
||||
|
@ -79,10 +79,7 @@ void update_server_status(MXS_MONITOR *monitor, MXS_MONITOR_SERVERS *database)
|
||||
}
|
||||
else
|
||||
{
|
||||
MXS_ERROR("Failed to query server %s ([%s]:%d): %d, %s",
|
||||
database->server->unique_name, database->server->name,
|
||||
database->server->port, mysql_errno(database->con),
|
||||
mysql_error(database->con));
|
||||
mon_report_query_error(database);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -311,10 +311,18 @@ monitorDatabase(MXS_MONITOR *mon, MXS_MONITOR_SERVERS *database)
|
||||
}
|
||||
mysql_free_result(result2);
|
||||
}
|
||||
else
|
||||
{
|
||||
mon_report_query_error(database);
|
||||
}
|
||||
}
|
||||
}
|
||||
mysql_free_result(result);
|
||||
}
|
||||
else
|
||||
{
|
||||
mon_report_query_error(database);
|
||||
}
|
||||
|
||||
if (isjoined)
|
||||
{
|
||||
@ -350,7 +358,10 @@ monitorDatabase(MXS_MONITOR *mon, MXS_MONITOR_SERVERS *database)
|
||||
}
|
||||
mysql_free_result(result);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
mon_report_query_error(database);
|
||||
}
|
||||
server_set_status_nolock(&temp_server, SERVER_JOINED);
|
||||
}
|
||||
else
|
||||
@ -786,9 +797,7 @@ static void update_sst_donor_nodes(MXS_MONITOR *mon, int is_cluster)
|
||||
}
|
||||
else
|
||||
{
|
||||
MXS_ERROR("Error while selecting 'wsrep_node_name' from node %s: %s",
|
||||
ptr->server->unique_name,
|
||||
mysql_error(ptr->con));
|
||||
mon_report_query_error(ptr);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -283,7 +283,10 @@ monitorDatabase(MXS_MONITOR* mon, MXS_MONITOR_SERVERS *database)
|
||||
}
|
||||
mysql_free_result(result);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
mon_report_query_error(database);
|
||||
}
|
||||
/* Check if the Slave_SQL_Running and Slave_IO_Running status is
|
||||
* set to Yes
|
||||
*/
|
||||
@ -348,6 +351,10 @@ monitorDatabase(MXS_MONITOR* mon, MXS_MONITOR_SERVERS *database)
|
||||
isslave = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mon_report_query_error(database);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -409,6 +416,10 @@ monitorDatabase(MXS_MONITOR* mon, MXS_MONITOR_SERVERS *database)
|
||||
|
||||
mysql_free_result(result);
|
||||
}
|
||||
else
|
||||
{
|
||||
mon_report_query_error(database);
|
||||
}
|
||||
}
|
||||
|
||||
/* get variable 'read_only' set by an external component */
|
||||
@ -436,6 +447,10 @@ monitorDatabase(MXS_MONITOR* mon, MXS_MONITOR_SERVERS *database)
|
||||
}
|
||||
mysql_free_result(result);
|
||||
}
|
||||
else
|
||||
{
|
||||
mon_report_query_error(database);
|
||||
}
|
||||
|
||||
/* Remove addition info */
|
||||
monitor_clear_pending_status(database, SERVER_STALE_STATUS);
|
||||
|
@ -492,6 +492,10 @@ static inline void monitor_mysql_db(MXS_MONITOR_SERVERS* database, MYSQL_SERVER_
|
||||
|
||||
mysql_free_result(result);
|
||||
}
|
||||
else
|
||||
{
|
||||
mon_report_query_error(database);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -544,7 +548,10 @@ static MXS_MONITOR_SERVERS *build_mysql51_replication_tree(MXS_MONITOR *mon)
|
||||
|
||||
mysql_free_result(result);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
mon_report_query_error(database);
|
||||
}
|
||||
|
||||
/* Set the Slave Role */
|
||||
if (ismaster)
|
||||
@ -718,6 +725,10 @@ monitorDatabase(MXS_MONITOR *mon, MXS_MONITOR_SERVERS *database)
|
||||
}
|
||||
mysql_free_result(result);
|
||||
}
|
||||
else
|
||||
{
|
||||
mon_report_query_error(database);
|
||||
}
|
||||
|
||||
/* Check first for MariaDB 10.x.x and get status for multi-master replication */
|
||||
if (server_version >= 100000)
|
||||
|
@ -245,6 +245,10 @@ monitorDatabase(MXS_MONITOR_SERVERS *database, char *defaultUser, char *defaultP
|
||||
}
|
||||
mysql_free_result(result);
|
||||
}
|
||||
else
|
||||
{
|
||||
mon_report_query_error(database);
|
||||
}
|
||||
|
||||
/* Check the the SQL node id in the MySQL cluster */
|
||||
if (mysql_query(database->con, "SHOW STATUS LIKE 'Ndb_cluster_node_id'") == 0
|
||||
@ -272,6 +276,10 @@ monitorDatabase(MXS_MONITOR_SERVERS *database, char *defaultUser, char *defaultP
|
||||
}
|
||||
mysql_free_result(result);
|
||||
}
|
||||
else
|
||||
{
|
||||
mon_report_query_error(database);
|
||||
}
|
||||
|
||||
if (isjoined)
|
||||
{
|
||||
|
Reference in New Issue
Block a user