From 1503a9df2da8c06c8336e521811d2e589a1ce674 Mon Sep 17 00:00:00 2001 From: HÃ¥vard Pettersen Date: Tue, 14 May 2019 12:55:05 +0000 Subject: introduce online state in proto rpc adapter this is to ensure we do not start server stuff until we are officially online. --- searchcore/src/vespa/searchcore/proton/server/proton.cpp | 1 + searchcore/src/vespa/searchcore/proton/server/rpc_hooks.cpp | 6 ++++++ searchcore/src/vespa/searchcore/proton/server/rpc_hooks.h | 1 + 3 files changed, 8 insertions(+) (limited to 'searchcore') diff --git a/searchcore/src/vespa/searchcore/proton/server/proton.cpp b/searchcore/src/vespa/searchcore/proton/server/proton.cpp index f39d9d8620c..772be9049db 100644 --- a/searchcore/src/vespa/searchcore/proton/server/proton.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/proton.cpp @@ -332,6 +332,7 @@ Proton::init(const BootstrapConfig::SP & configSnapshot) _executor.sync(); waitForOnlineState(); _isReplayDone = true; + _rpcHooks->set_online(); if ( ! _fs4Server->start() ) { throw vespalib::PortListenException(protonConfig.ptport, "FS4"); } diff --git a/searchcore/src/vespa/searchcore/proton/server/rpc_hooks.cpp b/searchcore/src/vespa/searchcore/proton/server/rpc_hooks.cpp index 99cc62ce30c..fca49a52553 100644 --- a/searchcore/src/vespa/searchcore/proton/server/rpc_hooks.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/rpc_hooks.cpp @@ -216,6 +216,12 @@ RPCHooksBase::open(Params & params) LOG(debug, "started monitoring interface"); } +void +RPCHooksBase::set_online() +{ + _proto_rpc_adapter->set_online(); +} + RPCHooksBase::~RPCHooksBase() = default; void diff --git a/searchcore/src/vespa/searchcore/proton/server/rpc_hooks.h b/searchcore/src/vespa/searchcore/proton/server/rpc_hooks.h index f16237381d6..21b433acf7b 100644 --- a/searchcore/src/vespa/searchcore/proton/server/rpc_hooks.h +++ b/searchcore/src/vespa/searchcore/proton/server/rpc_hooks.h @@ -99,6 +99,7 @@ public: RPCHooksBase(const RPCHooksBase &) = delete; RPCHooksBase & operator = (const RPCHooksBase &) = delete; RPCHooksBase(Params ¶ms); + void set_online(); virtual ~RPCHooksBase(); void close(); -- cgit v1.2.3