diff options
author | Arne H Juul <arnej27959@users.noreply.github.com> | 2023-03-01 14:21:04 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-01 14:21:04 +0100 |
commit | cdc86f437afbb34cabc9f05db951bef6ad206121 (patch) | |
tree | e5982673f7bfe3e7cefc44902b720b6a9380b913 | |
parent | cb55a8fddeb7a59af42b8b87815eaf7e5c132deb (diff) | |
parent | 7b9b83046cfd8460128da068d286214da051bfbe (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.cpp | 6 | ||||
-rw-r--r-- | configd/src/apps/sentinel/report-connectivity.cpp | 2 |
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"); |