summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--searchcore/src/apps/proton/proton.cpp6
-rw-r--r--storage/src/vespa/storage/frameworkimpl/status/statuswebserver.cpp12
-rw-r--r--storage/src/vespa/storage/storageserver/storagenode.cpp6
-rw-r--r--storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.cpp8
-rw-r--r--storageframework/src/vespa/storageframework/generic/component/component.cpp8
-rw-r--r--storageframework/src/vespa/storageframework/generic/component/componentregister.h7
6 files changed, 19 insertions, 28 deletions
diff --git a/searchcore/src/apps/proton/proton.cpp b/searchcore/src/apps/proton/proton.cpp
index 7515ddc4e23..6fab53204c3 100644
--- a/searchcore/src/apps/proton/proton.cpp
+++ b/searchcore/src/apps/proton/proton.cpp
@@ -224,9 +224,9 @@ App::Main()
proton.getMetricManager().init(params.identity, proton.getThreadPool());
}
EV_STARTED("proton");
- while (!(SIG::INT.check() || SIG::TERM.check())) {
+ while (!(SIG::INT.check() || SIG::TERM.check() || (spiProton && spiProton->getNode().attemptedStopped()))) {
FastOS_Thread::Sleep(1000);
- if (spiProton.get() && spiProton->configUpdated()) {
+ if (spiProton && spiProton->configUpdated()) {
storage::ResumeGuard guard(spiProton->getNode().pause());
spiProton->updateConfig();
}
@@ -247,7 +247,7 @@ App::Main()
}
}
}
- if (spiProton.get()) {
+ if (spiProton) {
spiProton->getNode().requestShutdown("controlled shutdown");
spiProton->shutdown();
EV_STOPPING("servicelayer", "clean shutdown");
diff --git a/storage/src/vespa/storage/frameworkimpl/status/statuswebserver.cpp b/storage/src/vespa/storage/frameworkimpl/status/statuswebserver.cpp
index 55de1d9ee87..483cffaf751 100644
--- a/storage/src/vespa/storage/frameworkimpl/status/statuswebserver.cpp
+++ b/storage/src/vespa/storage/frameworkimpl/status/statuswebserver.cpp
@@ -56,7 +56,7 @@ void StatusWebServer::configure(std::unique_ptr<vespa::config::content::core::St
int newPort = config->httpport;
// If server is already running, ignore config updates that doesn't
// alter port, or suggests random port.
- if (_httpServer.get() != 0) {
+ if (_httpServer) {
if (newPort == 0 || newPort == _port) return;
}
// Try to create new server before destroying old.
@@ -88,21 +88,23 @@ void StatusWebServer::configure(std::unique_ptr<vespa::config::content::core::St
if (!started) {
std::ostringstream ost;
ost << "Failed to start status HTTP server using port " << newPort << ".";
- if (_httpServer.get() != 0) {
+ if (_httpServer) {
ost << " Status server still running on port " << _port << " instead of suggested port " << newPort;
}
LOG(fatal, "%s.", ost.str().c_str());
_component->requestShutdown(ost.str());
+ _httpServer.reset();
+ return;
}
// Now that we know config update went well, update internal state
_port = server->getListenPort();
LOG(config, "Status pages now available on port %u", _port);
- if (_httpServer.get() != 0) {
+ if (_httpServer) {
LOG(debug, "Shutting down old status server.");
- _httpServer.reset(0);
+ _httpServer.reset();
LOG(debug, "Done shutting down old status server.");
}
- } else if (_httpServer.get() != 0) {
+ } else if (_httpServer) {
LOG(info, "No longer running status server as negative port was given "
"in config, indicating not to run a server.");
}
diff --git a/storage/src/vespa/storage/storageserver/storagenode.cpp b/storage/src/vespa/storage/storageserver/storagenode.cpp
index 27f98b478ce..85f54431cfb 100644
--- a/storage/src/vespa/storage/storageserver/storagenode.cpp
+++ b/storage/src/vespa/storage/storageserver/storagenode.cpp
@@ -103,13 +103,13 @@ StorageNode::subscribeToConfigs()
void
StorageNode::initialize()
{
+ _context.getComponentRegister().registerShutdownListener(*this);
+
// Fetch configs needed first. These functions will just grab the config
// and store them away, while having the config lock.
subscribeToConfigs();
- _context.getMemoryManager().setMaximumMemoryUsage(
- _serverConfig->memorytouse);
- _context.getComponentRegister().registerShutdownListener(*this);
+ _context.getMemoryManager().setMaximumMemoryUsage(_serverConfig->memorytouse);
updateUpgradeFlag(*_clusterConfig);
// First update some basics that doesn't depend on anything else to be
diff --git a/storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.cpp b/storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.cpp
index cda2fee4628..a03f79b008d 100644
--- a/storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.cpp
+++ b/storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.cpp
@@ -5,9 +5,7 @@
#include <vespa/metrics/metricmanager.h>
#include <vespa/vespalib/util/exceptions.h>
-namespace storage {
-namespace framework {
-namespace defaultimplementation {
+namespace storage::framework::defaultimplementation {
ComponentRegisterImpl::ComponentRegisterImpl()
: _componentLock(),
@@ -184,6 +182,4 @@ ComponentRegisterImpl::registerShutdownListener(ShutdownListener& listener)
_shutdownListener = &listener;
}
-} // defaultimplementation
-} // framework
-} // storage
+}
diff --git a/storageframework/src/vespa/storageframework/generic/component/component.cpp b/storageframework/src/vespa/storageframework/generic/component/component.cpp
index 6457ed73795..a35cad68b00 100644
--- a/storageframework/src/vespa/storageframework/generic/component/component.cpp
+++ b/storageframework/src/vespa/storageframework/generic/component/component.cpp
@@ -4,10 +4,8 @@
#include "componentregister.h"
#include <vespa/storageframework/generic/metric/metricregistrator.h>
#include <vespa/storageframework/generic/thread/threadpool.h>
-#include <vespa/vespalib/util/sync.h>
-namespace storage {
-namespace framework {
+namespace storage::framework {
void
Component::open()
@@ -137,6 +135,4 @@ Component::requestShutdown(vespalib::stringref reason)
_componentRegister->requestShutdown(reason);
}
-} // framework
-} // storage
-
+}
diff --git a/storageframework/src/vespa/storageframework/generic/component/componentregister.h b/storageframework/src/vespa/storageframework/generic/component/componentregister.h
index 521e23ba1aa..3babd8b29bc 100644
--- a/storageframework/src/vespa/storageframework/generic/component/componentregister.h
+++ b/storageframework/src/vespa/storageframework/generic/component/componentregister.h
@@ -13,8 +13,7 @@
#include <vespa/vespalib/stllike/string.h>
-namespace storage {
-namespace framework {
+namespace storage::framework {
class ManagedComponent;
@@ -25,6 +24,4 @@ struct ComponentRegister {
virtual void requestShutdown(vespalib::stringref reason) = 0;
};
-} // framework
-} // storage
-
+}