aboutsummaryrefslogtreecommitdiffstats
path: root/configd
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2021-06-10 10:50:00 +0000
committerArne Juul <arnej@verizonmedia.com>2021-06-10 10:50:00 +0000
commit5036748a5a18f1dee457a185ad42588f98010312 (patch)
tree4e5a13609649a710684a48dddf8dcbb1cab05c4f /configd
parent493268d08571d5912f98dc61b47c47b6a1e52f6a (diff)
minor cleanup, remove AFFIRMED_DOWN
Diffstat (limited to 'configd')
-rw-r--r--configd/src/apps/sentinel/connectivity.cpp18
-rw-r--r--configd/src/apps/sentinel/outward-check.cpp6
-rw-r--r--configd/src/apps/sentinel/outward-check.h2
3 files changed, 11 insertions, 15 deletions
diff --git a/configd/src/apps/sentinel/connectivity.cpp b/configd/src/apps/sentinel/connectivity.cpp
index fcdcb88dc55..32d4d123a95 100644
--- a/configd/src/apps/sentinel/connectivity.cpp
+++ b/configd/src/apps/sentinel/connectivity.cpp
@@ -27,11 +27,10 @@ namespace {
std::string toString(CcResult value) {
switch (value) {
case CcResult::UNKNOWN: return "BAD: missing result"; // very very bad
- case CcResult::REMOTE_PING_FAIL: return "connect OK, but reverse check FAILED"; // very bad
+ case CcResult::INDIRECT_PING_FAIL: return "connect OK, but reverse check FAILED"; // very bad
case CcResult::UNREACHABLE_UP: return "unreachable from me, but up"; // very bad
case CcResult::CONN_FAIL: return "failed to connect"; // bad
- case CcResult::AFFIRMED_DOWN: return "affirmed down"; // a problem, but probably not on this end
- case CcResult::REMOTE_PING_UNAVAIL: return "connect OK (but reverse check unavailable)"; // unfortunate
+ case CcResult::INDIRECT_PING_UNAVAIL: return "connect OK (but reverse check unavailable)"; // unfortunate
case CcResult::ALL_OK: return "OK: both ways connectivity verified"; // good
}
LOG(error, "Unknown CcResult enum value: %d", (int)value);
@@ -106,15 +105,13 @@ void classifyConnFails(ConnectivityMap &connectivityMap,
size_t numReportsUp = 0;
size_t numReportsDown = 0;
for (const auto & [hostname, probe] : cornerProbes) {
- if (probe.result() == CcResult::REMOTE_PING_FAIL) ++numReportsDown;
+ if (probe.result() == CcResult::INDIRECT_PING_FAIL) ++numReportsDown;
if (probe.result() == CcResult::ALL_OK) ++numReportsUp;
}
- if (numReportsUp > numReportsDown) {
+ if (numReportsUp > 0) {
LOG(debug, "Unreachable: %s is up according to %zd hosts (down according to me + %zd others)",
nameToCheck.c_str(), numReportsUp, numReportsDown);
cmIter->second.classifyResult(CcResult::UNREACHABLE_UP);
- } else if ((numReportsUp == 0) && (numReportsDown > 0)) {
- cmIter->second.classifyResult(CcResult::AFFIRMED_DOWN);
}
}
}
@@ -150,7 +147,6 @@ Connectivity::checkConnectivity(RpcServer &rpcServer) {
classifyConnFails(connectivityMap, _checkSpecs, rpcServer);
size_t numProblematic = 0;
size_t numUpButBad = 0;
- bool allChecksOk = true;
for (const auto & [hostname, check] : connectivityMap) {
std::string detail = toString(check.result());
std::string prev = _detailsPerHost[hostname];
@@ -161,20 +157,20 @@ Connectivity::checkConnectivity(RpcServer &rpcServer) {
LOG_ASSERT(check.result() != CcResult::UNKNOWN);
switch (check.result()) {
case CcResult::UNREACHABLE_UP:
- case CcResult::REMOTE_PING_FAIL:
+ case CcResult::INDIRECT_PING_FAIL:
++numUpButBad;
++numProblematic;
break;
- case CcResult::AFFIRMED_DOWN:
case CcResult::CONN_FAIL:
++numProblematic;
break;
case CcResult::UNKNOWN:
- case CcResult::REMOTE_PING_UNAVAIL:
+ case CcResult::INDIRECT_PING_UNAVAIL:
case CcResult::ALL_OK:
break;
}
}
+ bool allChecksOk = true;
if (numUpButBad > size_t(_config.maxBadReverseCount)) {
LOG(warning, "%zu of %zu nodes up but with network connectivity problems (max is %d)",
numUpButBad, clusterSize, _config.maxBadReverseCount);
diff --git a/configd/src/apps/sentinel/outward-check.cpp b/configd/src/apps/sentinel/outward-check.cpp
index 93068459292..21f7d2ff2d5 100644
--- a/configd/src/apps/sentinel/outward-check.cpp
+++ b/configd/src/apps/sentinel/outward-check.cpp
@@ -34,18 +34,18 @@ void OutwardCheck::RequestDone(FRT_RPCRequest *req) {
} else if (answer == "bad") {
LOG(debug, "connected to %s, but reverse connectivity fails: %s",
_spec.c_str(), answer.c_str());
- _result = CcResult::REMOTE_PING_FAIL;
+ _result = CcResult::INDIRECT_PING_FAIL;
} else {
LOG(warning, "connected to %s, but strange reverse connectivity: %s",
_spec.c_str(), answer.c_str());
- _result = CcResult::REMOTE_PING_UNAVAIL;
+ _result = CcResult::INDIRECT_PING_UNAVAIL;
}
} else if (req->GetErrorCode() == FRTE_RPC_NO_SUCH_METHOD ||
req->GetErrorCode() == FRTE_RPC_WRONG_PARAMS ||
req->GetErrorCode() == FRTE_RPC_WRONG_RETURN)
{
LOG(debug, "Connected OK to %s but no reverse connectivity check available", _spec.c_str());
- _result = CcResult::REMOTE_PING_UNAVAIL;
+ _result = CcResult::INDIRECT_PING_UNAVAIL;
} else {
LOG(debug, "error on request to %s : %s (%d)", _spec.c_str(),
req->GetErrorMessage(), req->GetErrorCode());
diff --git a/configd/src/apps/sentinel/outward-check.h b/configd/src/apps/sentinel/outward-check.h
index 904cfc9a271..9aec52dc678 100644
--- a/configd/src/apps/sentinel/outward-check.h
+++ b/configd/src/apps/sentinel/outward-check.h
@@ -27,7 +27,7 @@ struct OutwardCheckContext {
~OutwardCheckContext();
};
-enum class CcResult { UNKNOWN, AFFIRMED_DOWN, CONN_FAIL, UNREACHABLE_UP, REMOTE_PING_FAIL, REMOTE_PING_UNAVAIL, ALL_OK };
+enum class CcResult { UNKNOWN, CONN_FAIL, UNREACHABLE_UP, INDIRECT_PING_FAIL, INDIRECT_PING_UNAVAIL, ALL_OK };
class OutwardCheck : public FRT_IRequestWait {
private: