MXS-2463 Rename m_nodes to m_nodes_by_id
Makes it obvious it is a map.
This commit is contained in:
@ -198,7 +198,7 @@ bool ClustrixMonitor::configure(const MXS_CONFIG_PARAMETER* pParams)
|
|||||||
check_bootstrap_servers();
|
check_bootstrap_servers();
|
||||||
|
|
||||||
m_health_urls.clear();
|
m_health_urls.clear();
|
||||||
m_nodes.clear();
|
m_nodes_by_id.clear();
|
||||||
|
|
||||||
m_config.set_cluster_monitor_interval(pParams->get_integer(CLUSTER_MONITOR_INTERVAL_NAME));
|
m_config.set_cluster_monitor_interval(pParams->get_integer(CLUSTER_MONITOR_INTERVAL_NAME));
|
||||||
m_config.set_health_check_threshold(pParams->get_integer(HEALTH_CHECK_THRESHOLD_NAME));
|
m_config.set_health_check_threshold(pParams->get_integer(HEALTH_CHECK_THRESHOLD_NAME));
|
||||||
@ -373,7 +373,7 @@ void ClustrixMonitor::choose_hub(Clustrix::Softfailed softfailed)
|
|||||||
|
|
||||||
bool ClustrixMonitor::choose_dynamic_hub(Clustrix::Softfailed softfailed, std::set<string>& ips_checked)
|
bool ClustrixMonitor::choose_dynamic_hub(Clustrix::Softfailed softfailed, std::set<string>& ips_checked)
|
||||||
{
|
{
|
||||||
for (auto it = m_nodes.begin(); !m_pHub_con && (it != m_nodes.end()); ++it)
|
for (auto it = m_nodes_by_id.begin(); !m_pHub_con && (it != m_nodes_by_id.end()); ++it)
|
||||||
{
|
{
|
||||||
auto& element = *it;
|
auto& element = *it;
|
||||||
ClustrixNode& node = element.second;
|
ClustrixNode& node = element.second;
|
||||||
@ -519,7 +519,7 @@ bool ClustrixMonitor::refresh_nodes(MYSQL* pHub_con)
|
|||||||
mxb_assert(mysql_field_count(pHub_con) == 5);
|
mxb_assert(mysql_field_count(pHub_con) == 5);
|
||||||
|
|
||||||
set<int> nids;
|
set<int> nids;
|
||||||
for (const auto& element : m_nodes)
|
for (const auto& element : m_nodes_by_id)
|
||||||
{
|
{
|
||||||
const ClustrixNode& node = element.second;
|
const ClustrixNode& node = element.second;
|
||||||
nids.insert(node.id());
|
nids.insert(node.id());
|
||||||
@ -540,10 +540,10 @@ bool ClustrixMonitor::refresh_nodes(MYSQL* pHub_con)
|
|||||||
// Monitor name ensures no clash with other Clustrix monitor instances.
|
// Monitor name ensures no clash with other Clustrix monitor instances.
|
||||||
string server_name = string("@@") + m_name + ":node-" + std::to_string(id);
|
string server_name = string("@@") + m_name + ":node-" + std::to_string(id);
|
||||||
|
|
||||||
auto nit = m_nodes.find(id);
|
auto nit = m_nodes_by_id.find(id);
|
||||||
auto mit = memberships.find(id);
|
auto mit = memberships.find(id);
|
||||||
|
|
||||||
if (nit != m_nodes.end())
|
if (nit != m_nodes_by_id.end())
|
||||||
{
|
{
|
||||||
// Existing node.
|
// Existing node.
|
||||||
mxb_assert(SERVER::find_by_unique_name(server_name));
|
mxb_assert(SERVER::find_by_unique_name(server_name));
|
||||||
@ -601,7 +601,7 @@ bool ClustrixMonitor::refresh_nodes(MYSQL* pHub_con)
|
|||||||
ClustrixNode node(this, membership, ip, mysql_port, health_port,
|
ClustrixNode node(this, membership, ip, mysql_port, health_port,
|
||||||
health_check_threshold, pServer);
|
health_check_threshold, pServer);
|
||||||
|
|
||||||
m_nodes.insert(make_pair(id, node));
|
m_nodes_by_id.insert(make_pair(id, node));
|
||||||
|
|
||||||
// New server, so it needs to be added to all services that
|
// New server, so it needs to be added to all services that
|
||||||
// use this monitor for defining its cluster of servers.
|
// use this monitor for defining its cluster of servers.
|
||||||
@ -643,8 +643,8 @@ bool ClustrixMonitor::refresh_nodes(MYSQL* pHub_con)
|
|||||||
// state must be set accordingly.
|
// state must be set accordingly.
|
||||||
for (const auto nid : nids)
|
for (const auto nid : nids)
|
||||||
{
|
{
|
||||||
auto it = m_nodes.find(nid);
|
auto it = m_nodes_by_id.find(nid);
|
||||||
mxb_assert(it != m_nodes.end());
|
mxb_assert(it != m_nodes_by_id.end());
|
||||||
|
|
||||||
ClustrixNode& node = it->second;
|
ClustrixNode& node = it->second;
|
||||||
node.set_running(false, ClustrixNode::APPROACH_OVERRIDE);
|
node.set_running(false, ClustrixNode::APPROACH_OVERRIDE);
|
||||||
@ -828,7 +828,7 @@ bool ClustrixMonitor::check_cluster_membership(MYSQL* pHub_con,
|
|||||||
mxb_assert(mysql_field_count(pHub_con) == 4);
|
mxb_assert(mysql_field_count(pHub_con) == 4);
|
||||||
|
|
||||||
set<int> nids;
|
set<int> nids;
|
||||||
for (const auto& element : m_nodes)
|
for (const auto& element : m_nodes_by_id)
|
||||||
{
|
{
|
||||||
const ClustrixNode& node = element.second;
|
const ClustrixNode& node = element.second;
|
||||||
nids.insert(node.id());
|
nids.insert(node.id());
|
||||||
@ -844,9 +844,9 @@ bool ClustrixMonitor::check_cluster_membership(MYSQL* pHub_con,
|
|||||||
int instance = row[2] ? atoi(row[2]) : -1;
|
int instance = row[2] ? atoi(row[2]) : -1;
|
||||||
string substate = row[3] ? row[3] : "unknown";
|
string substate = row[3] ? row[3] : "unknown";
|
||||||
|
|
||||||
auto it = m_nodes.find(nid);
|
auto it = m_nodes_by_id.find(nid);
|
||||||
|
|
||||||
if (it != m_nodes.end())
|
if (it != m_nodes_by_id.end())
|
||||||
{
|
{
|
||||||
ClustrixNode& node = it->second;
|
ClustrixNode& node = it->second;
|
||||||
|
|
||||||
@ -878,12 +878,12 @@ bool ClustrixMonitor::check_cluster_membership(MYSQL* pHub_con,
|
|||||||
// Deactivate all servers that are no longer members.
|
// Deactivate all servers that are no longer members.
|
||||||
for (const auto nid : nids)
|
for (const auto nid : nids)
|
||||||
{
|
{
|
||||||
auto it = m_nodes.find(nid);
|
auto it = m_nodes_by_id.find(nid);
|
||||||
mxb_assert(it != m_nodes.end());
|
mxb_assert(it != m_nodes_by_id.end());
|
||||||
|
|
||||||
ClustrixNode& node = it->second;
|
ClustrixNode& node = it->second;
|
||||||
node.deactivate_server();
|
node.deactivate_server();
|
||||||
m_nodes.erase(it);
|
m_nodes_by_id.erase(it);
|
||||||
}
|
}
|
||||||
|
|
||||||
rv = true;
|
rv = true;
|
||||||
@ -922,7 +922,7 @@ void ClustrixMonitor::populate_from_bootstrap_servers()
|
|||||||
|
|
||||||
ClustrixNode node(this, membership, ip, mysql_port, health_port, health_check_threshold, pServer);
|
ClustrixNode node(this, membership, ip, mysql_port, health_port, health_check_threshold, pServer);
|
||||||
|
|
||||||
m_nodes.insert(make_pair(id, node));
|
m_nodes_by_id.insert(make_pair(id, node));
|
||||||
++id;
|
++id;
|
||||||
|
|
||||||
// New server, so it needs to be added to all services that
|
// New server, so it needs to be added to all services that
|
||||||
@ -941,13 +941,13 @@ void ClustrixMonitor::update_server_statuses()
|
|||||||
{
|
{
|
||||||
pMs->stash_current_status();
|
pMs->stash_current_status();
|
||||||
|
|
||||||
auto it = find_if(m_nodes.begin(), m_nodes.end(),
|
auto it = find_if(m_nodes_by_id.begin(), m_nodes_by_id.end(),
|
||||||
[pMs](const std::pair<int,ClustrixNode>& element) -> bool {
|
[pMs](const std::pair<int,ClustrixNode>& element) -> bool {
|
||||||
const ClustrixNode& info = element.second;
|
const ClustrixNode& info = element.second;
|
||||||
return pMs->server->address == info.ip();
|
return pMs->server->address == info.ip();
|
||||||
});
|
});
|
||||||
|
|
||||||
if (it != m_nodes.end())
|
if (it != m_nodes_by_id.end())
|
||||||
{
|
{
|
||||||
const ClustrixNode& info = it->second;
|
const ClustrixNode& info = it->second;
|
||||||
|
|
||||||
@ -1022,9 +1022,9 @@ bool ClustrixMonitor::check_http(Call::action_t action)
|
|||||||
// There are as many results as there are nodes,
|
// There are as many results as there are nodes,
|
||||||
// and the results are in node order.
|
// and the results are in node order.
|
||||||
const vector<http::Result>& results = m_http.results();
|
const vector<http::Result>& results = m_http.results();
|
||||||
mxb_assert(results.size() == m_nodes.size());
|
mxb_assert(results.size() == m_nodes_by_id.size());
|
||||||
|
|
||||||
auto it = m_nodes.begin();
|
auto it = m_nodes_by_id.begin();
|
||||||
|
|
||||||
for (const auto& result : results)
|
for (const auto& result : results)
|
||||||
{
|
{
|
||||||
@ -1062,7 +1062,7 @@ bool ClustrixMonitor::check_http(Call::action_t action)
|
|||||||
void ClustrixMonitor::update_http_urls()
|
void ClustrixMonitor::update_http_urls()
|
||||||
{
|
{
|
||||||
vector<string> health_urls;
|
vector<string> health_urls;
|
||||||
for (const auto& element : m_nodes)
|
for (const auto& element : m_nodes_by_id)
|
||||||
{
|
{
|
||||||
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());
|
||||||
@ -1118,12 +1118,12 @@ bool ClustrixMonitor::perform_operation(Operation operation,
|
|||||||
|
|
||||||
if (m_pHub_con)
|
if (m_pHub_con)
|
||||||
{
|
{
|
||||||
auto it = find_if(m_nodes.begin(), m_nodes.end(),
|
auto it = find_if(m_nodes_by_id.begin(), m_nodes_by_id.end(),
|
||||||
[pServer] (const std::pair<int, ClustrixNode>& element) {
|
[pServer] (const std::pair<int, ClustrixNode>& element) {
|
||||||
return element.second.server() == pServer;
|
return element.second.server() == pServer;
|
||||||
});
|
});
|
||||||
|
|
||||||
if (it != m_nodes.end())
|
if (it != m_nodes_by_id.end())
|
||||||
{
|
{
|
||||||
ClustrixNode& node = it->second;
|
ClustrixNode& node = it->second;
|
||||||
|
|
||||||
|
|||||||
@ -176,7 +176,7 @@ private:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
Config m_config;
|
Config m_config;
|
||||||
std::map<int, ClustrixNode> m_nodes;
|
std::map<int, ClustrixNode> m_nodes_by_id;
|
||||||
std::vector<std::string> m_health_urls;
|
std::vector<std::string> m_health_urls;
|
||||||
mxb::http::Async m_http;
|
mxb::http::Async m_http;
|
||||||
uint32_t m_delayed_http_check_id { 0 };
|
uint32_t m_delayed_http_check_id { 0 };
|
||||||
|
|||||||
Reference in New Issue
Block a user