summaryrefslogtreecommitdiffstats
path: root/storage/src
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2021-01-18 14:47:52 +0100
committerTor Egge <Tor.Egge@broadpark.no>2021-01-18 14:47:52 +0100
commit5038193d912eacc04d9d3ecc5176dbe7fa858a73 (patch)
tree23fef4984ea02b26d7f201cc27c093a17d9bc8a9 /storage/src
parent5ce314d5989ce4753004d8e13faafb905217bc8b (diff)
Wire in HostInfo to FileStorManager.
Diffstat (limited to 'storage/src')
-rw-r--r--storage/src/tests/bucketdb/bucketmanagertest.cpp2
-rw-r--r--storage/src/tests/common/teststorageapp.cpp6
-rw-r--r--storage/src/tests/common/teststorageapp.h3
-rw-r--r--storage/src/tests/persistence/common/filestortestfixture.cpp3
-rw-r--r--storage/src/tests/persistence/filestorage/filestormanagertest.cpp2
-rw-r--r--storage/src/tests/visiting/visitormanagertest.cpp2
-rw-r--r--storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp4
-rw-r--r--storage/src/vespa/storage/persistence/filestorage/filestormanager.h3
-rw-r--r--storage/src/vespa/storage/storageserver/servicelayernode.cpp5
9 files changed, 20 insertions, 10 deletions
diff --git a/storage/src/tests/bucketdb/bucketmanagertest.cpp b/storage/src/tests/bucketdb/bucketmanagertest.cpp
index 66114d2ac2b..f15a30d8805 100644
--- a/storage/src/tests/bucketdb/bucketmanagertest.cpp
+++ b/storage/src/tests/bucketdb/bucketmanagertest.cpp
@@ -164,7 +164,7 @@ void BucketManagerTest::setupTestEnvironment(bool fakePersistenceLayer,
} else {
auto bottom = std::make_unique<FileStorManager>(
config.getConfigId(),
- _node->getPersistenceProvider(), _node->getComponentRegister(), *_node);
+ _node->getPersistenceProvider(), _node->getComponentRegister(), *_node, _node->get_host_info());
_top->push_back(std::move(bottom));
}
// Generate a doc to use for testing..
diff --git a/storage/src/tests/common/teststorageapp.cpp b/storage/src/tests/common/teststorageapp.cpp
index 04dc1a03dd3..f932786e2e2 100644
--- a/storage/src/tests/common/teststorageapp.cpp
+++ b/storage/src/tests/common/teststorageapp.cpp
@@ -134,7 +134,8 @@ TestServiceLayerApp::TestServiceLayerApp(vespalib::stringref configId)
lib::NodeType::STORAGE, getIndexFromConfig(configId), configId),
_compReg(dynamic_cast<ServiceLayerComponentRegisterImpl&>(TestStorageApp::getComponentRegister())),
_persistenceProvider(),
- _executor(vespalib::SequencedTaskExecutor::create(test_executor, 1))
+ _executor(vespalib::SequencedTaskExecutor::create(test_executor, 1)),
+ _host_info()
{
lib::NodeState ns(*_nodeStateUpdater.getReportedNodeState());
_nodeStateUpdater.setReportedNodeState(ns);
@@ -146,7 +147,8 @@ TestServiceLayerApp::TestServiceLayerApp(NodeIndex index,
lib::NodeType::STORAGE, index, configId),
_compReg(dynamic_cast<ServiceLayerComponentRegisterImpl&>(TestStorageApp::getComponentRegister())),
_persistenceProvider(),
- _executor(vespalib::SequencedTaskExecutor::create(test_executor, 1))
+ _executor(vespalib::SequencedTaskExecutor::create(test_executor, 1)),
+ _host_info()
{
lib::NodeState ns(*_nodeStateUpdater.getReportedNodeState());
_nodeStateUpdater.setReportedNodeState(ns);
diff --git a/storage/src/tests/common/teststorageapp.h b/storage/src/tests/common/teststorageapp.h
index b5295fe94a3..433f535546f 100644
--- a/storage/src/tests/common/teststorageapp.h
+++ b/storage/src/tests/common/teststorageapp.h
@@ -23,6 +23,7 @@
#include <persistence/spi/types.h>
#include <vespa/storage/bucketdb/storbucketdb.h>
#include <vespa/storage/common/doneinitializehandler.h>
+#include <vespa/storage/common/hostreporter/hostinfo.h>
#include <vespa/storage/common/node_identity.h>
#include <vespa/storage/common/nodestateupdater.h>
#include <vespa/storage/frameworkimpl/component/distributorcomponentregisterimpl.h>
@@ -112,6 +113,7 @@ class TestServiceLayerApp : public TestStorageApp
ServiceLayerComponentRegisterImpl& _compReg;
PersistenceProviderUP _persistenceProvider;
std::unique_ptr<vespalib::ISequencedTaskExecutor> _executor;
+ HostInfo _host_info;
public:
TestServiceLayerApp(vespalib::stringref configId);
@@ -122,6 +124,7 @@ public:
void setPersistenceProvider(PersistenceProviderUP);
ServiceLayerComponentRegisterImpl& getComponentRegister() { return _compReg; }
+ HostInfo &get_host_info() noexcept { return _host_info; }
spi::PersistenceProvider& getPersistenceProvider();
diff --git a/storage/src/tests/persistence/common/filestortestfixture.cpp b/storage/src/tests/persistence/common/filestortestfixture.cpp
index b695fb508af..0ba378e2ff2 100644
--- a/storage/src/tests/persistence/common/filestortestfixture.cpp
+++ b/storage/src/tests/persistence/common/filestortestfixture.cpp
@@ -71,11 +71,12 @@ FileStorTestFixture::TestFileStorComponents::TestFileStorComponents(
FileStorTestFixture& fixture,
const StorageLinkInjector& injector)
: _fixture(fixture),
+ top(),
manager(nullptr)
{
injector.inject(top);
auto fsm = std::make_unique<FileStorManager>(fixture._config->getConfigId(), fixture._node->getPersistenceProvider(),
- fixture._node->getComponentRegister(), *fixture._node);
+ fixture._node->getComponentRegister(), *fixture._node, fixture._node->get_host_info());
manager = fsm.get();
top.push_back(std::move(fsm));
top.open();
diff --git a/storage/src/tests/persistence/filestorage/filestormanagertest.cpp b/storage/src/tests/persistence/filestorage/filestormanagertest.cpp
index cae24c5c6ce..74ad5d7f2ce 100644
--- a/storage/src/tests/persistence/filestorage/filestormanagertest.cpp
+++ b/storage/src/tests/persistence/filestorage/filestormanagertest.cpp
@@ -243,7 +243,7 @@ struct TestFileStorComponents {
{
auto fsm = std::make_unique<FileStorManager>((use_small_config ? test.smallConfig : test.config)->getConfigId(),
test._node->getPersistenceProvider(),
- test._node->getComponentRegister(), *test._node);
+ test._node->getComponentRegister(), *test._node, test._node->get_host_info());
manager = fsm.get();
top.push_back(std::move(fsm));
top.open();
diff --git a/storage/src/tests/visiting/visitormanagertest.cpp b/storage/src/tests/visiting/visitormanagertest.cpp
index 6ad876d0d77..98b48806b90 100644
--- a/storage/src/tests/visiting/visitormanagertest.cpp
+++ b/storage/src/tests/visiting/visitormanagertest.cpp
@@ -92,7 +92,7 @@ VisitorManagerTest::initializeTest()
_manager = vm.get();
_top->push_back(std::move(vm));
_top->push_back(std::make_unique<FileStorManager>(config.getConfigId(), _node->getPersistenceProvider(),
- _node->getComponentRegister(), *_node));
+ _node->getComponentRegister(), *_node, _node->get_host_info()));
_manager->setTimeBetweenTicks(10);
_top->open();
diff --git a/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp b/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp
index 9c7ae586def..0f9c9894615 100644
--- a/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp
+++ b/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp
@@ -60,7 +60,8 @@ private:
FileStorManager::
FileStorManager(const config::ConfigUri & configUri, spi::PersistenceProvider& provider,
- ServiceLayerComponentRegister& compReg, DoneInitializeHandler& init_handler)
+ ServiceLayerComponentRegister& compReg, DoneInitializeHandler& init_handler,
+ HostInfo& hostInfoReporterRegistrar)
: StorageLinkQueued("File store manager", compReg),
framework::HtmlStatusReporter("filestorman", "File store manager"),
_compReg(compReg),
@@ -83,6 +84,7 @@ FileStorManager(const config::ConfigUri & configUri, spi::PersistenceProvider& p
_component.registerStatusPage(*this);
_component.getStateUpdater().addStateListener(*this);
propagateClusterStates();
+ (void) hostInfoReporterRegistrar;
}
FileStorManager::~FileStorManager()
diff --git a/storage/src/vespa/storage/persistence/filestorage/filestormanager.h b/storage/src/vespa/storage/persistence/filestorage/filestormanager.h
index 451059f7d3a..489dd1f97e9 100644
--- a/storage/src/vespa/storage/persistence/filestorage/filestormanager.h
+++ b/storage/src/vespa/storage/persistence/filestorage/filestormanager.h
@@ -43,6 +43,7 @@ class ReadBucketList;
class BucketOwnershipNotifier;
class AbortBucketOperationsCommand;
struct DoneInitializeHandler;
+class HostInfo;
class PersistenceHandler;
struct FileStorMetrics;
class ProviderErrorWrapper;
@@ -77,7 +78,7 @@ class FileStorManager : public StorageLinkQueued,
public:
FileStorManager(const config::ConfigUri &, spi::PersistenceProvider&,
- ServiceLayerComponentRegister&, DoneInitializeHandler&);
+ ServiceLayerComponentRegister&, DoneInitializeHandler&, HostInfo&);
FileStorManager(const FileStorManager &) = delete;
FileStorManager& operator=(const FileStorManager &) = delete;
diff --git a/storage/src/vespa/storage/storageserver/servicelayernode.cpp b/storage/src/vespa/storage/storageserver/servicelayernode.cpp
index 45a4c255446..29edcc46cf9 100644
--- a/storage/src/vespa/storage/storageserver/servicelayernode.cpp
+++ b/storage/src/vespa/storage/storageserver/servicelayernode.cpp
@@ -167,11 +167,12 @@ ServiceLayerNode::createChain(IStorageChainBuilder &builder)
builder.add(std::make_unique<VisitorManager>(_configUri, _context.getComponentRegister(), static_cast<VisitorMessageSessionFactory &>(*this), _externalVisitors));
builder.add(std::make_unique<ModifiedBucketChecker>(
_context.getComponentRegister(), _persistenceProvider, _configUri));
+ auto state_manager = releaseStateManager();
auto filstor_manager = std::make_unique<FileStorManager>(_configUri, _persistenceProvider, _context.getComponentRegister(),
- getDoneInitializeHandler());
+ getDoneInitializeHandler(), state_manager->getHostInfo());
_fileStorManager = filstor_manager.get();
builder.add(std::move(filstor_manager));
- builder.add(releaseStateManager());
+ builder.add(std::move(state_manager));
// Lifetimes of all referenced components shall outlive the last call going
// through the SPI, as queues are flushed and worker threads joined when