From 7a3c77db8f851021153c19b3e9ba6c87a1d6049f Mon Sep 17 00:00:00 2001 From: Arne H Juul Date: Thu, 9 Sep 2021 14:39:34 +0000 Subject: remove ignoreFirstOk flag * instead of ignoring one ping, restart monitoring of the mapping (without hurry flag). --- slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp | 10 +++------- slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.h | 3 --- 2 files changed, 3 insertions(+), 10 deletions(-) (limited to 'slobrok') 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 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 }; -- cgit v1.2.3