aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArne H Juul <arnej27959@users.noreply.github.com>2023-03-01 14:21:04 +0100
committerGitHub <noreply@github.com>2023-03-01 14:21:04 +0100
commitcdc86f437afbb34cabc9f05db951bef6ad206121 (patch)
treee5982673f7bfe3e7cefc44902b720b6a9380b913
parentcb55a8fddeb7a59af42b8b87815eaf7e5c132deb (diff)
parent7b9b83046cfd8460128da068d286214da051bfbe (diff)
Merge pull request #26244 from vespa-engine/arnej/higher-timeout-for-many-checks
pre-compute higher timeout based on number of nodes to check
-rw-r--r--configd/src/apps/sentinel/connectivity.cpp6
-rw-r--r--configd/src/apps/sentinel/report-connectivity.cpp2
2 files changed, 3 insertions, 5 deletions
diff --git a/configd/src/apps/sentinel/connectivity.cpp b/configd/src/apps/sentinel/connectivity.cpp
index b9641cc19e0..9cd8d5c985a 100644
--- a/configd/src/apps/sentinel/connectivity.cpp
+++ b/configd/src/apps/sentinel/connectivity.cpp
@@ -75,10 +75,9 @@ void classifyConnFails(ConnectivityMap &connectivityMap,
LOG_ASSERT(cmIter != connectivityMap.end());
OutwardCheckContext cornerContext(goodNeighborSpecs.size(), nameToCheck, portToCheck, rpcServer.orb());
ConnectivityMap cornerProbes;
- int ping_timeout = 1000;
+ int ping_timeout = 1000 + 50 * goodNeighborSpecs.size();
for (const auto & hp : goodNeighborSpecs) {
cornerProbes.try_emplace(hp.first, spec(hp), cornerContext, ping_timeout);
- ping_timeout += 20;
}
cornerContext.latch.await();
size_t numReportsUp = 0;
@@ -154,10 +153,9 @@ Connectivity::checkConnectivity(RpcServer &rpcServer) {
rpcServer.getPort(),
rpcServer.orb());
ConnectivityMap connectivityMap;
- int ping_timeout = 1000;
+ int ping_timeout = 1000 + 50 * _checkSpecs.size();
for (const auto &host_and_port : _checkSpecs) {
connectivityMap.try_emplace(host_and_port.first, spec(host_and_port), checkContext, ping_timeout);
- ping_timeout += 20;
}
checkContext.latch.await();
classifyConnFails(connectivityMap, _checkSpecs, rpcServer);
diff --git a/configd/src/apps/sentinel/report-connectivity.cpp b/configd/src/apps/sentinel/report-connectivity.cpp
index 8417384dda9..d059980aae9 100644
--- a/configd/src/apps/sentinel/report-connectivity.cpp
+++ b/configd/src/apps/sentinel/report-connectivity.cpp
@@ -22,9 +22,9 @@ ReportConnectivity::ReportConnectivity(FRT_RPCRequest *req, int timeout_ms, FRT_
auto map = Connectivity::specsFrom(cfg.value());
LOG(debug, "making connectivity report for %zd peers", map.size());
_remaining = map.size();
+ timeout_ms += 50 * map.size();
for (const auto & [ hostname, port ] : map) {
_checks.emplace_back(std::make_unique<PeerCheck>(*this, hostname, port, orb, timeout_ms));
- timeout_ms += 20;
}
} else {
_parentRequest->SetError(FRTE_RPC_METHOD_FAILED, "failed getting model config");