diff options
Diffstat (limited to 'storage/src')
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 |