no rows for slave heartbeat reset server values
no rows for slave heartbeat resets the heartbeat and node_ts in server struct
This commit is contained in:
@ -888,12 +888,15 @@ static void set_slave_heartbeat(MYSQL_MONITOR *handle, MONITOR_SERVERS *database
|
|||||||
/* if there is a master then send the query to the slave with master_id */
|
/* if there is a master then send the query to the slave with master_id */
|
||||||
if (handle->master !=NULL && (mysql_query(database->con, select_heartbeat_query) == 0
|
if (handle->master !=NULL && (mysql_query(database->con, select_heartbeat_query) == 0
|
||||||
&& (result = mysql_store_result(database->con)) != NULL)) {
|
&& (result = mysql_store_result(database->con)) != NULL)) {
|
||||||
|
int rows_found = 0;
|
||||||
num_fields = mysql_num_fields(result);
|
num_fields = mysql_num_fields(result);
|
||||||
|
|
||||||
while ((row = mysql_fetch_row(result))) {
|
while ((row = mysql_fetch_row(result))) {
|
||||||
int rlag = -1;
|
int rlag = -1;
|
||||||
time_t slave_read;
|
time_t slave_read;
|
||||||
|
|
||||||
|
rows_found = 1;
|
||||||
|
|
||||||
heartbeat = time(0);
|
heartbeat = time(0);
|
||||||
slave_read = strtoul(row[0], NULL, 10);
|
slave_read = strtoul(row[0], NULL, 10);
|
||||||
|
|
||||||
@ -924,6 +927,11 @@ static void set_slave_heartbeat(MYSQL_MONITOR *handle, MONITOR_SERVERS *database
|
|||||||
database->server->port,
|
database->server->port,
|
||||||
database->server->rlag)));
|
database->server->rlag)));
|
||||||
}
|
}
|
||||||
|
if (!rows_found) {
|
||||||
|
database->server->rlag = -1;
|
||||||
|
database->server->node_ts = 0;
|
||||||
|
}
|
||||||
|
|
||||||
mysql_free_result(result);
|
mysql_free_result(result);
|
||||||
} else {
|
} else {
|
||||||
database->server->rlag = -1;
|
database->server->rlag = -1;
|
||||||
|
Reference in New Issue
Block a user