diff options
author | Arne H Juul <arnej@yahooinc.com> | 2021-09-09 14:39:34 +0000 |
---|---|---|
committer | Arne H Juul <arnej@yahooinc.com> | 2021-09-09 14:40:57 +0000 |
commit | 7a3c77db8f851021153c19b3e9ba6c87a1d6049f (patch) | |
tree | d500d25b185703123290b04dae9341cc639755e5 /slobrok | |
parent | b88b16941da5d27754199ba2b03e75aa37a977c1 (diff) |
remove ignoreFirstOk flag
* instead of ignoring one ping, restart monitoring of the mapping
(without hurry flag).
Diffstat (limited to 'slobrok')
-rw-r--r-- | slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp | 10 | ||||
-rw-r--r-- | slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.h | 3 |
2 files changed, 3 insertions, 10 deletions
diff --git a/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp b/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp index 47f604a08ec..55d0e744743 100644 --- a/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp +++ b/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp @@ -123,7 +123,6 @@ void LocalRpcMonitorMap::addLocal(const ServiceMapping &mapping, } else { _mappingMonitor->stop(mapping); exists.inflight = std::move(inflight); - exists.ignoreFirstOk = false; _mappingMonitor->start(mapping, true); } return; @@ -164,12 +163,13 @@ void LocalRpcMonitorMap::removeLocal(const ServiceMapping &mapping) { return; } // also exists in consensus map, so we can't just remove it - // instead, pretend it's down, and ignore first "up()" notification - exists.ignoreFirstOk = true; + // instead, pretend it's down and delay next ping + _mappingMonitor->stop(mapping); if (exists.up) { exists.up = false; _dispatcher.remove(mapping); } + _mappingMonitor->start(mapping, false); return; } @@ -255,10 +255,6 @@ void LocalRpcMonitorMap::down(const ServiceMapping& mapping) { void LocalRpcMonitorMap::up(const ServiceMapping& mapping) { PerService &psd = lookup(mapping); LOG(debug, "ok: %s->%s", mapping.name.c_str(), psd.spec.c_str()); - if (psd.ignoreFirstOk) { - psd.ignoreFirstOk = false; - return; - } if (psd.inflight) { auto target = std::move(psd.inflight); target->doneHandler(OkState()); diff --git a/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.h b/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.h index df5ee26d077..920d54a405f 100644 --- a/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.h +++ b/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.h @@ -73,7 +73,6 @@ private: struct PerService { bool up; bool localOnly; - bool ignoreFirstOk; std::unique_ptr<AddLocalCompletionHandler> inflight; vespalib::string spec; }; @@ -84,7 +83,6 @@ private: return PerService{ .up = false, .localOnly = true, - .ignoreFirstOk = false, .inflight = std::move(inflight), .spec = mapping.spec }; @@ -94,7 +92,6 @@ private: return PerService{ .up = false, .localOnly = false, - .ignoreFirstOk = false, .inflight = {}, .spec = mapping.spec }; |