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);
|
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
|
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
|
* Acquire locks on all servers monitored by this monitor. There should
|
||||||
* only be max 1 monitor per server.
|
* only be max 1 monitor per server.
|
||||||
|
@ -79,10 +79,7 @@ void update_server_status(MXS_MONITOR *monitor, MXS_MONITOR_SERVERS *database)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MXS_ERROR("Failed to query server %s ([%s]:%d): %d, %s",
|
mon_report_query_error(database);
|
||||||
database->server->unique_name, database->server->name,
|
|
||||||
database->server->port, mysql_errno(database->con),
|
|
||||||
mysql_error(database->con));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -311,10 +311,18 @@ monitorDatabase(MXS_MONITOR *mon, MXS_MONITOR_SERVERS *database)
|
|||||||
}
|
}
|
||||||
mysql_free_result(result2);
|
mysql_free_result(result2);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mon_report_query_error(database);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mysql_free_result(result);
|
mysql_free_result(result);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mon_report_query_error(database);
|
||||||
|
}
|
||||||
|
|
||||||
if (isjoined)
|
if (isjoined)
|
||||||
{
|
{
|
||||||
@ -350,7 +358,10 @@ monitorDatabase(MXS_MONITOR *mon, MXS_MONITOR_SERVERS *database)
|
|||||||
}
|
}
|
||||||
mysql_free_result(result);
|
mysql_free_result(result);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mon_report_query_error(database);
|
||||||
|
}
|
||||||
server_set_status_nolock(&temp_server, SERVER_JOINED);
|
server_set_status_nolock(&temp_server, SERVER_JOINED);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -786,9 +797,7 @@ static void update_sst_donor_nodes(MXS_MONITOR *mon, int is_cluster)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MXS_ERROR("Error while selecting 'wsrep_node_name' from node %s: %s",
|
mon_report_query_error(ptr);
|
||||||
ptr->server->unique_name,
|
|
||||||
mysql_error(ptr->con));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -283,7 +283,10 @@ monitorDatabase(MXS_MONITOR* mon, MXS_MONITOR_SERVERS *database)
|
|||||||
}
|
}
|
||||||
mysql_free_result(result);
|
mysql_free_result(result);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mon_report_query_error(database);
|
||||||
|
}
|
||||||
/* Check if the Slave_SQL_Running and Slave_IO_Running status is
|
/* Check if the Slave_SQL_Running and Slave_IO_Running status is
|
||||||
* set to Yes
|
* set to Yes
|
||||||
*/
|
*/
|
||||||
@ -348,6 +351,10 @@ monitorDatabase(MXS_MONITOR* mon, MXS_MONITOR_SERVERS *database)
|
|||||||
isslave = 0;
|
isslave = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mon_report_query_error(database);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -409,6 +416,10 @@ monitorDatabase(MXS_MONITOR* mon, MXS_MONITOR_SERVERS *database)
|
|||||||
|
|
||||||
mysql_free_result(result);
|
mysql_free_result(result);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mon_report_query_error(database);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get variable 'read_only' set by an external component */
|
/* 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);
|
mysql_free_result(result);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mon_report_query_error(database);
|
||||||
|
}
|
||||||
|
|
||||||
/* Remove addition info */
|
/* Remove addition info */
|
||||||
monitor_clear_pending_status(database, SERVER_STALE_STATUS);
|
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);
|
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);
|
mysql_free_result(result);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mon_report_query_error(database);
|
||||||
|
}
|
||||||
|
|
||||||
/* Set the Slave Role */
|
/* Set the Slave Role */
|
||||||
if (ismaster)
|
if (ismaster)
|
||||||
@ -718,6 +725,10 @@ monitorDatabase(MXS_MONITOR *mon, MXS_MONITOR_SERVERS *database)
|
|||||||
}
|
}
|
||||||
mysql_free_result(result);
|
mysql_free_result(result);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mon_report_query_error(database);
|
||||||
|
}
|
||||||
|
|
||||||
/* Check first for MariaDB 10.x.x and get status for multi-master replication */
|
/* Check first for MariaDB 10.x.x and get status for multi-master replication */
|
||||||
if (server_version >= 100000)
|
if (server_version >= 100000)
|
||||||
|
@ -245,6 +245,10 @@ monitorDatabase(MXS_MONITOR_SERVERS *database, char *defaultUser, char *defaultP
|
|||||||
}
|
}
|
||||||
mysql_free_result(result);
|
mysql_free_result(result);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mon_report_query_error(database);
|
||||||
|
}
|
||||||
|
|
||||||
/* Check the the SQL node id in the MySQL cluster */
|
/* Check the the SQL node id in the MySQL cluster */
|
||||||
if (mysql_query(database->con, "SHOW STATUS LIKE 'Ndb_cluster_node_id'") == 0
|
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);
|
mysql_free_result(result);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mon_report_query_error(database);
|
||||||
|
}
|
||||||
|
|
||||||
if (isjoined)
|
if (isjoined)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user