From d4af8fe287d860baddc68d8f0dc17809c1107a77 Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Fri, 23 Nov 2018 11:14:21 +0100 Subject: [PATCH] remove enterprise-gotos (#7375) (#7414) --- arangod/Cluster/AgencyCallbackRegistry.cpp | 2 +- arangod/Cluster/RestAgencyCallbacksHandler.cpp | 14 +++++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/arangod/Cluster/AgencyCallbackRegistry.cpp b/arangod/Cluster/AgencyCallbackRegistry.cpp index 3b9b468f5f..a74abb4436 100644 --- a/arangod/Cluster/AgencyCallbackRegistry.cpp +++ b/arangod/Cluster/AgencyCallbackRegistry.cpp @@ -82,7 +82,7 @@ std::shared_ptr AgencyCallbackRegistry::getCallback(uint32_t id) auto it = _endpoints.find(id); if (it == _endpoints.end()) { - THROW_ARANGO_EXCEPTION(TRI_ERROR_CLUSTER_UNKNOWN_CALLBACK_ENDPOINT); + return nullptr; } return (*it).second; } diff --git a/arangod/Cluster/RestAgencyCallbacksHandler.cpp b/arangod/Cluster/RestAgencyCallbacksHandler.cpp index 4d05d77c11..866b5ac7b3 100644 --- a/arangod/Cluster/RestAgencyCallbacksHandler.cpp +++ b/arangod/Cluster/RestAgencyCallbacksHandler.cpp @@ -64,16 +64,12 @@ RestStatus RestAgencyCallbacksHandler::execute() { return RestStatus::DONE; } - std::shared_ptr cb; - try { - uint32_t index = basics::StringUtils::uint32(suffixes.at(0)); - cb = _agencyCallbackRegistry->getCallback(index); - } catch (arangodb::basics::Exception const&) { - // mop: not found...expected + uint32_t index = basics::StringUtils::uint32(suffixes.at(0)); + auto cb = _agencyCallbackRegistry->getCallback(index); + if (cb.get() == nullptr) { + // no entry by this id! resetResponse(arangodb::rest::ResponseCode::NOT_FOUND); - } - - if (cb) { + } else { LOG_TOPIC(DEBUG, Logger::CLUSTER) << "Agency callback has been triggered. refetching!";