summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-09-05 21:04:08 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2017-09-05 21:04:08 +0200
commitcb2e7054e43ec84ea7181f67631602546f7cae33 (patch)
treede8015e7c6c9cb3aa914f7085b19db1999201045 /storage
parent8ae7332f3e4297121fb9f50972ded38ef94aa5ca (diff)
WE must listen to everyone who wants to stop.
Diffstat (limited to 'storage')
-rw-r--r--storage/src/vespa/storage/frameworkimpl/status/statuswebserver.cpp12
-rw-r--r--storage/src/vespa/storage/storageserver/storagenode.cpp6
2 files changed, 10 insertions, 8 deletions
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