MXS-2219 Replace for_each with regular for loops

In this context the former provides no advantage.
This commit is contained in:
Johan Wikman
2019-01-21 12:26:16 +02:00
parent 01c3da9e0f
commit c51895eaad

View File

@ -230,10 +230,11 @@ void ClustrixMonitor::update_cluster_nodes(MXS_MONITORED_SERVER& ms)
mxb_assert(mysql_field_count(ms.con) == 4); mxb_assert(mysql_field_count(ms.con) == 4);
set<int> nids; set<int> nids;
for_each(m_nodes.begin(), m_nodes.end(), for (const auto& element : m_nodes)
[&nids](const pair<int, ClustrixNode>& element) { {
nids.insert(element.first); const ClustrixNode& node = element.second;
}); nids.insert(node.id());
}
MYSQL_ROW row; MYSQL_ROW row;
while ((row = mysql_fetch_row(pResult)) != nullptr) while ((row = mysql_fetch_row(pResult)) != nullptr)
@ -292,7 +293,8 @@ void ClustrixMonitor::update_cluster_nodes(MXS_MONITORED_SERVER& ms)
const ClustrixMembership& membership = mit->second; const ClustrixMembership& membership = mit->second;
int health_check_threshold = m_config.health_check_threshold(); int health_check_threshold = m_config.health_check_threshold();
ClustrixNode node(membership, ip, mysql_port, health_port, health_check_threshold, pServer); ClustrixNode node(membership, ip, mysql_port, health_port,
health_check_threshold, pServer);
m_nodes.insert(make_pair(id, node)); m_nodes.insert(make_pair(id, node));
} }
@ -321,23 +323,23 @@ void ClustrixMonitor::update_cluster_nodes(MXS_MONITORED_SERVER& ms)
mysql_free_result(pResult); mysql_free_result(pResult);
for_each(nids.begin(), nids.end(), for (const auto nid : nids)
[this](int nid) { {
auto it = m_nodes.find(nid); auto it = m_nodes.find(nid);
mxb_assert(it != m_nodes.end()); mxb_assert(it != m_nodes.end());
ClustrixNode& node = it->second; ClustrixNode& node = it->second;
node.set_running(false, ClustrixNode::APPROACH_OVERRIDE); node.set_running(false, ClustrixNode::APPROACH_OVERRIDE);
}); }
vector<string> health_urls; vector<string> health_urls;
for_each(m_nodes.begin(), m_nodes.end(), for (const auto& element : m_nodes)
[&health_urls](const pair<int, ClustrixNode>& element) { {
const ClustrixNode& node = element.second; const ClustrixNode& node = element.second;
string url = "http://" + node.ip() + ":" + std::to_string(node.health_port()); string url = "http://" + node.ip() + ":" + std::to_string(node.health_port());
health_urls.push_back(url); health_urls.push_back(url);
}); }
m_health_urls.swap(health_urls); m_health_urls.swap(health_urls);
@ -398,10 +400,11 @@ bool ClustrixMonitor::check_cluster_membership(MXS_MONITORED_SERVER& ms,
mxb_assert(mysql_field_count(ms.con) == 4); mxb_assert(mysql_field_count(ms.con) == 4);
set<int> nids; set<int> nids;
for_each(m_nodes.begin(), m_nodes.end(), for (const auto& element : m_nodes)
[&nids](const pair<int, ClustrixNode>& element) { {
nids.insert(element.first); const ClustrixNode& node = element.second;
}); nids.insert(node.id());
}
MYSQL_ROW row; MYSQL_ROW row;
while ((row = mysql_fetch_row(pResult)) != nullptr) while ((row = mysql_fetch_row(pResult)) != nullptr)
@ -444,15 +447,15 @@ bool ClustrixMonitor::check_cluster_membership(MXS_MONITORED_SERVER& ms,
mysql_free_result(pResult); mysql_free_result(pResult);
// Deactivate all servers that are no longer members. // Deactivate all servers that are no longer members.
for_each(nids.begin(), nids.end(), for (const auto nid : nids)
[this](int nid) { {
auto it = m_nodes.find(nid); auto it = m_nodes.find(nid);
mxb_assert(it != m_nodes.end()); mxb_assert(it != m_nodes.end());
ClustrixNode& node = it->second; ClustrixNode& node = it->second;
node.deactivate_server(); node.deactivate_server();
m_nodes.erase(it); m_nodes.erase(it);
}); }
rv = true; rv = true;
} }