|
|
|
|
@ -8014,7 +8014,7 @@ bool MySQL_Monitor::monitor_galera_process_ready_tasks(const std::vector<MySQL_M
|
|
|
|
|
void MySQL_Monitor::monitor_galera_async() {
|
|
|
|
|
|
|
|
|
|
std::vector<std::unique_ptr<MySQL_Monitor_State_Data>> mmsds;
|
|
|
|
|
|
|
|
|
|
std::set<std::string> checked_servers;
|
|
|
|
|
pthread_mutex_lock(&galera_mutex);
|
|
|
|
|
assert(Galera_Hosts_resultset);
|
|
|
|
|
mmsds.reserve(Galera_Hosts_resultset->rows_count);
|
|
|
|
|
@ -8022,6 +8022,11 @@ void MySQL_Monitor::monitor_galera_async() {
|
|
|
|
|
|
|
|
|
|
for (std::vector<SQLite3_row*>::iterator it = Galera_Hosts_resultset->rows.begin(); it != Galera_Hosts_resultset->rows.end(); ++it) {
|
|
|
|
|
const SQLite3_row* r = *it;
|
|
|
|
|
|
|
|
|
|
auto ret = checked_servers.insert(std::string(r->fields[1]) + ":" + std::string(r->fields[2]));
|
|
|
|
|
if (ret.second == false) // duplicate server entry
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
|
|
bool rc_ping = server_responds_to_ping(r->fields[1], atoi(r->fields[2]));
|
|
|
|
|
if (rc_ping) { // only if server is responding to pings
|
|
|
|
|
|
|
|
|
|
|