From 3bf6c43312d10167aa0dd29f2992862ef7b47f53 Mon Sep 17 00:00:00 2001 From: Arne Juul Date: Tue, 17 Aug 2021 10:01:50 +0000 Subject: answer inflight script more places --- slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (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 3f8a3bf6747..ec522dfb563 100644 --- a/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp +++ b/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp @@ -76,6 +76,10 @@ void LocalRpcMonitorMap::add(const ServiceMapping &mapping) { if (exists.up) { _dispatcher.remove(exists.mapping()); } + if (exists.inflight) { + auto target = std::move(exists.inflight); + target->doneHandler(OkState(13, "conflict during initialization")); + } _map.erase(old); } auto [ iter, was_inserted ] = @@ -98,6 +102,10 @@ void LocalRpcMonitorMap::remove(const ServiceMapping &mapping) { if (exists.up) { _dispatcher.remove(exists.mapping()); } + if (exists.inflight) { + auto target = std::move(exists.inflight); + target->doneHandler(OkState(13, "removed during initialization")); + } _map.erase(iter); } else { LOG(debug, "tried to remove non-existing mapping %s->%s", -- cgit v1.2.3