Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
markus456 committed Aug 3, 2017
1 parent ab82c74 commit f7b8744
Show file tree
Hide file tree
Showing 7 changed files with 65 additions and 10 deletions.
7 changes: 7 additions & 0 deletions include/maxscale/monitor.h
Expand Up @@ -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
8 changes: 8 additions & 0 deletions server/core/monitor.c
Expand Up @@ -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.
Expand Down
5 changes: 1 addition & 4 deletions server/modules/monitor/auroramon/auroramon.c
Expand Up @@ -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
Expand Down
17 changes: 13 additions & 4 deletions server/modules/monitor/galeramon/galeramon.c
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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);
}
}

Expand Down
17 changes: 16 additions & 1 deletion server/modules/monitor/mmmon/mmmon.c
Expand Up @@ -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
*/
Expand Down Expand Up @@ -348,6 +351,10 @@ monitorDatabase(MXS_MONITOR* mon, MXS_MONITOR_SERVERS *database)
isslave = 0;
}
}
else
{
mon_report_query_error(database);
}
}
else
{
Expand Down Expand Up @@ -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 */
Expand Down Expand Up @@ -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);
Expand Down
13 changes: 12 additions & 1 deletion server/modules/monitor/mysqlmon/mysql_mon.c
Expand Up @@ -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);
}
}

/**
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down
8 changes: 8 additions & 0 deletions server/modules/monitor/ndbclustermon/ndbclustermon.c
Expand Up @@ -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
Expand Down Expand Up @@ -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)
{
Expand Down

0 comments on commit f7b8744

Please sign in to comment.