aboutsummaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-11-27 00:21:44 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-11-27 11:56:09 +0000
commit39d00826c3e7e30d59e6ca6d88eb3f36fb8358fd (patch)
treea7c3158fd574ec67ab32e66d7cd3ab58ebbdb2cc /storage
parent989b8b5afa58dcbfa03e3999d75802ac6c70aa94 (diff)
GC LoadTypeSet
Diffstat (limited to 'storage')
-rw-r--r--storage/src/tests/common/metricstest.cpp5
-rw-r--r--storage/src/tests/common/teststorageapp.cpp6
-rw-r--r--storage/src/tests/common/teststorageapp.h2
-rw-r--r--storage/src/tests/persistence/filestorage/filestormanagertest.cpp3
-rw-r--r--storage/src/tests/persistence/filestorage/operationabortingtest.cpp2
-rw-r--r--storage/src/tests/persistence/persistencequeuetest.cpp2
-rw-r--r--storage/src/tests/persistence/processalltest.cpp4
-rw-r--r--storage/src/tests/storageserver/rpc/message_codec_provider_test.cpp11
-rw-r--r--storage/src/tests/storageserver/rpc/storage_api_rpc_service_test.cpp5
-rw-r--r--storage/src/tests/storageserver/statereportertest.cpp2
-rw-r--r--storage/src/vespa/storage/common/storagecomponent.cpp17
-rw-r--r--storage/src/vespa/storage/common/storagecomponent.h7
-rw-r--r--storage/src/vespa/storage/distributor/idealstatemanager.h5
-rw-r--r--storage/src/vespa/storage/distributor/operations/idealstate/idealstateoperation.cpp1
-rw-r--r--storage/src/vespa/storage/frameworkimpl/component/storagecomponentregisterimpl.cpp12
-rw-r--r--storage/src/vespa/storage/frameworkimpl/component/storagecomponentregisterimpl.h4
-rw-r--r--storage/src/vespa/storage/storageserver/communicationmanager.cpp17
-rw-r--r--storage/src/vespa/storage/storageserver/rpc/message_codec_provider.cpp16
-rw-r--r--storage/src/vespa/storage/storageserver/rpc/message_codec_provider.h11
-rw-r--r--storage/src/vespa/storage/storageserver/rpc/storage_api_rpc_service.h1
-rw-r--r--storage/src/vespa/storage/storageserver/storagenode.cpp6
-rw-r--r--storage/src/vespa/storage/visiting/visitormanager.cpp1
-rw-r--r--storage/src/vespa/storage/visiting/visitormessagesessionfactory.h9
23 files changed, 30 insertions, 119 deletions
diff --git a/storage/src/tests/common/metricstest.cpp b/storage/src/tests/common/metricstest.cpp
index 2c09b2974e5..f816816a051 100644
--- a/storage/src/tests/common/metricstest.cpp
+++ b/storage/src/tests/common/metricstest.cpp
@@ -80,8 +80,7 @@ void MetricsTest::SetUp() {
} catch (config::InvalidConfigException& e) {
fprintf(stderr, "%s\n", e.what());
}
- _metricManager = std::make_unique<metrics::MetricManager>(
- std::make_unique<MetricClock>(*_clock));
+ _metricManager = std::make_unique<metrics::MetricManager>(std::make_unique<MetricClock>(*_clock));
_topSet.reset(new metrics::MetricSet("vds", {}, ""));
{
metrics::MetricLockGuard guard(_metricManager->getMetricLock());
@@ -93,8 +92,6 @@ void MetricsTest::SetUp() {
*_metricManager,
"status");
- documentapi::LoadTypeSet::SP loadTypes(_node->getLoadTypes());
-
_filestorMetrics = std::make_shared<FileStorMetrics>();
_filestorMetrics->initDiskMetrics(1, 1);
_topSet->registerMetric(*_filestorMetrics);
diff --git a/storage/src/tests/common/teststorageapp.cpp b/storage/src/tests/common/teststorageapp.cpp
index e904f690bde..b6acff804a8 100644
--- a/storage/src/tests/common/teststorageapp.cpp
+++ b/storage/src/tests/common/teststorageapp.cpp
@@ -47,7 +47,6 @@ TestStorageApp::TestStorageApp(StorageComponentRegisterImpl::UP compReg,
vespalib::string clusterName = "mycluster";
uint32_t redundancy = 2;
uint32_t nodeCount = 10;
- documentapi::LoadTypeSet::SP loadTypes;
if (!configId.empty()) {
config::ConfigUri uri(configId);
std::unique_ptr<vespa::config::content::core::StorServerConfig> serverConfig = config::ConfigGetter<vespa::config::content::core::StorServerConfig>::getConfig(uri.getConfigId(), uri.getContext());
@@ -58,12 +57,8 @@ TestStorageApp::TestStorageApp(StorageComponentRegisterImpl::UP compReg,
_compReg.setPriorityConfig(
*config::ConfigGetter<StorageComponent::PriorityConfig>
::getConfig(uri.getConfigId(), uri.getContext()));
- loadTypes = std::make_shared<documentapi::LoadTypeSet>(
- *config::ConfigGetter<vespa::config::content::LoadTypeConfig>
- ::getConfig(uri.getConfigId(), uri.getContext()));
} else {
if (index == 0xffff) index = 0;
- loadTypes.reset(new documentapi::LoadTypeSet);
}
if (index >= nodeCount) nodeCount = index + 1;
if (redundancy > nodeCount) redundancy = nodeCount;
@@ -71,7 +66,6 @@ TestStorageApp::TestStorageApp(StorageComponentRegisterImpl::UP compReg,
_compReg.setNodeInfo(clusterName, type, index);
_compReg.setNodeStateUpdater(_nodeStateUpdater);
_compReg.setDocumentTypeRepo(_docMan.getTypeRepoSP());
- _compReg.setLoadTypes(loadTypes);
_compReg.setBucketIdFactory(document::BucketIdFactory());
auto distr = std::make_shared<lib::Distribution>(
lib::Distribution::getDefaultDistributionConfig(redundancy, nodeCount));
diff --git a/storage/src/tests/common/teststorageapp.h b/storage/src/tests/common/teststorageapp.h
index dffe1da7a9a..376b1afd9c6 100644
--- a/storage/src/tests/common/teststorageapp.h
+++ b/storage/src/tests/common/teststorageapp.h
@@ -81,8 +81,6 @@ public:
const document::BucketIdFactory& getBucketIdFactory()
{ return _compReg.getBucketIdFactory(); }
TestNodeStateUpdater& getStateUpdater() { return _nodeStateUpdater; }
- documentapi::LoadTypeSet::SP getLoadTypes()
- { return _compReg.getLoadTypes(); }
lib::Distribution::SP getDistribution()
{ return _compReg.getDistribution(); }
TestNodeStateUpdater& getNodeStateUpdater() { return _nodeStateUpdater; }
diff --git a/storage/src/tests/persistence/filestorage/filestormanagertest.cpp b/storage/src/tests/persistence/filestorage/filestormanagertest.cpp
index 6a888e6c02d..3bd92d31ca7 100644
--- a/storage/src/tests/persistence/filestorage/filestormanagertest.cpp
+++ b/storage/src/tests/persistence/filestorage/filestormanagertest.cpp
@@ -56,7 +56,6 @@ namespace storage {
namespace {
-metrics::LoadType defaultLoadType(0, "default");
vespalib::string _Cluster("cluster");
vespalib::string _Storage("storage");
api::StorageMessageAddress _Storage2(&_Storage, lib::NodeType::STORAGE, 2);
@@ -255,7 +254,6 @@ struct FileStorHandlerComponents {
DummyStorageLink top;
DummyStorageLink* dummyManager;
ForwardingMessageSender messageSender;
- documentapi::LoadTypeSet loadTypes;
FileStorMetrics metrics;
std::unique_ptr<FileStorHandler> filestorHandler;
@@ -263,7 +261,6 @@ struct FileStorHandlerComponents {
: top(),
dummyManager(new DummyStorageLink),
messageSender(*dummyManager),
- loadTypes("raw:"),
metrics(),
filestorHandler()
{
diff --git a/storage/src/tests/persistence/filestorage/operationabortingtest.cpp b/storage/src/tests/persistence/filestorage/operationabortingtest.cpp
index 95e2d8e2c43..e0ccc175c11 100644
--- a/storage/src/tests/persistence/filestorage/operationabortingtest.cpp
+++ b/storage/src/tests/persistence/filestorage/operationabortingtest.cpp
@@ -72,8 +72,6 @@ public:
}
};
-metrics::LoadType defaultLoadType(0, "default");
-
}
struct OperationAbortingTest : FileStorTestFixture {
diff --git a/storage/src/tests/persistence/persistencequeuetest.cpp b/storage/src/tests/persistence/persistencequeuetest.cpp
index 62ba8bd876d..61719b569d6 100644
--- a/storage/src/tests/persistence/persistencequeuetest.cpp
+++ b/storage/src/tests/persistence/persistencequeuetest.cpp
@@ -27,7 +27,6 @@ public:
DummyStorageLink top;
std::unique_ptr<DummyStorageLink> dummyManager;
ForwardingMessageSender messageSender;
- documentapi::LoadTypeSet loadTypes;
FileStorMetrics metrics;
std::unique_ptr<FileStorHandler> filestorHandler;
uint32_t stripeId;
@@ -42,7 +41,6 @@ PersistenceQueueTest::Fixture::Fixture(FileStorTestFixture& parent_)
top(),
dummyManager(std::make_unique<DummyStorageLink>()),
messageSender(*dummyManager),
- loadTypes("raw:"),
metrics(),
stripeId(0)
{
diff --git a/storage/src/tests/persistence/processalltest.cpp b/storage/src/tests/persistence/processalltest.cpp
index a19abbfb1c6..7ac9c01dabd 100644
--- a/storage/src/tests/persistence/processalltest.cpp
+++ b/storage/src/tests/persistence/processalltest.cpp
@@ -16,7 +16,7 @@ class ProcessAllHandlerTest : public SingleDiskPersistenceTestUtils {
};
TEST_F(ProcessAllHandlerTest, change_of_repos_is_reflected) {
- EXPECT_EQ(3u, getComponent().getGeneration());
+ EXPECT_EQ(2u, getComponent().getGeneration());
auto old = getComponent().getTypeRepo()->documentTypeRepo;
auto old2 = &getEnv().getDocumentTypeRepo();
EXPECT_EQ(old.get(), old2);
@@ -24,7 +24,7 @@ TEST_F(ProcessAllHandlerTest, change_of_repos_is_reflected) {
auto newDocRepo = std::make_shared<document::DocumentTypeRepo>(*old->getDocumentType("testdoctype1"));
getComponent().setDocumentTypeRepo(newDocRepo);
- EXPECT_EQ(4u, getComponent().getGeneration());
+ EXPECT_EQ(3u, getComponent().getGeneration());
EXPECT_EQ(newDocRepo.get(), getComponent().getTypeRepo()->documentTypeRepo.get());
EXPECT_EQ(newDocRepo.get(), &getEnv().getDocumentTypeRepo());
}
diff --git a/storage/src/tests/storageserver/rpc/message_codec_provider_test.cpp b/storage/src/tests/storageserver/rpc/message_codec_provider_test.cpp
index 0d4e3b8df93..67474f86df0 100644
--- a/storage/src/tests/storageserver/rpc/message_codec_provider_test.cpp
+++ b/storage/src/tests/storageserver/rpc/message_codec_provider_test.cpp
@@ -2,7 +2,6 @@
#include <vespa/storage/storageserver/rpc/message_codec_provider.h>
#include <vespa/storageapi/mbusprot/protocolserialization7.h>
#include <vespa/document/base/testdocman.h>
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
#include <vespa/vespalib/gtest/gtest.h>
using namespace ::testing;
@@ -12,17 +11,13 @@ namespace storage::rpc {
struct MessageCodecProviderTest : Test {
std::shared_ptr<const document::DocumentTypeRepo> _repo1;
std::shared_ptr<const document::DocumentTypeRepo> _repo2;
- std::shared_ptr<const documentapi::LoadTypeSet> _load_types1;
- std::shared_ptr<const documentapi::LoadTypeSet> _load_types2;
MessageCodecProvider _provider;
// We don't care about repo/set contents, just their pointer identities
MessageCodecProviderTest()
: _repo1(document::TestDocRepo().getTypeRepoSp()),
_repo2(document::TestDocRepo().getTypeRepoSp()),
- _load_types1(std::make_shared<documentapi::LoadTypeSet>()),
- _load_types2(std::make_shared<documentapi::LoadTypeSet>()),
- _provider(_repo1, _load_types1)
+ _provider(_repo1)
{}
~MessageCodecProviderTest() override;
};
@@ -32,15 +27,13 @@ MessageCodecProviderTest::~MessageCodecProviderTest() = default;
TEST_F(MessageCodecProviderTest, initially_provides_constructed_repos) {
auto wrapped = _provider.wrapped_codec();
EXPECT_EQ(&wrapped->codec().type_repo(), _repo1.get());
- EXPECT_EQ(&wrapped->codec().load_type_set(), _load_types1.get());
}
TEST_F(MessageCodecProviderTest, updated_repos_reflected_in_new_wrapped_codec) {
- _provider.update_atomically(_repo2, _load_types2);
+ _provider.update_atomically(_repo2);
auto wrapped = _provider.wrapped_codec();
EXPECT_EQ(&wrapped->codec().type_repo(), _repo2.get());
- EXPECT_EQ(&wrapped->codec().load_type_set(), _load_types2.get());
}
}
diff --git a/storage/src/tests/storageserver/rpc/storage_api_rpc_service_test.cpp b/storage/src/tests/storageserver/rpc/storage_api_rpc_service_test.cpp
index 7f2279e1f4e..630ad7685e4 100644
--- a/storage/src/tests/storageserver/rpc/storage_api_rpc_service_test.cpp
+++ b/storage/src/tests/storageserver/rpc/storage_api_rpc_service_test.cpp
@@ -3,7 +3,6 @@
#include <vespa/document/base/testdocman.h>
#include <vespa/document/repo/documenttyperepo.h>
#include <vespa/document/test/make_document_bucket.h>
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
#include <vespa/fnet/frt/supervisor.h>
#include <vespa/fnet/frt/target.h>
#include <vespa/messagebus/testlib/slobrok.h>
@@ -103,7 +102,6 @@ class RpcNode {
protected:
vdstestlib::DirConfig _config;
std::shared_ptr<const document::DocumentTypeRepo> _doc_type_repo;
- std::shared_ptr<const documentapi::LoadTypeSet> _load_type_set;
LockingMockOperationDispatcher _messages;
std::unique_ptr<MessageCodecProvider> _codec_provider;
std::unique_ptr<SharedRpcResources> _shared_rpc_resources;
@@ -113,7 +111,6 @@ public:
RpcNode(uint16_t node_index, bool is_distributor, const mbus::Slobrok& slobrok)
: _config(getStandardConfig(true)),
_doc_type_repo(document::TestDocRepo().getTypeRepoSp()),
- _load_type_set(std::make_shared<documentapi::LoadTypeSet>()),
_node_address(make_address(node_index, is_distributor)),
_slobrok_id(to_slobrok_id(_node_address))
{
@@ -124,7 +121,7 @@ public:
_shared_rpc_resources = std::make_unique<SharedRpcResources>(_config.getConfigId(), 0, 1);
// TODO make codec provider into interface so we can test decode-failures more easily?
- _codec_provider = std::make_unique<MessageCodecProvider>(_doc_type_repo, _load_type_set);
+ _codec_provider = std::make_unique<MessageCodecProvider>(_doc_type_repo);
}
~RpcNode();
diff --git a/storage/src/tests/storageserver/statereportertest.cpp b/storage/src/tests/storageserver/statereportertest.cpp
index 9a22a02941b..b28f092904e 100644
--- a/storage/src/tests/storageserver/statereportertest.cpp
+++ b/storage/src/tests/storageserver/statereportertest.cpp
@@ -90,8 +90,6 @@ void StateReporterTest::SetUp() {
_generationFetcher,
"status");
- documentapi::LoadTypeSet::SP loadTypes(_node->getLoadTypes());
-
_filestorMetrics = std::make_shared<FileStorMetrics>();
_filestorMetrics->initDiskMetrics(1, 1);
_topSet->registerMetric(*_filestorMetrics);
diff --git a/storage/src/vespa/storage/common/storagecomponent.cpp b/storage/src/vespa/storage/common/storagecomponent.cpp
index c5194f909c0..8ad4e457b58 100644
--- a/storage/src/vespa/storage/common/storagecomponent.cpp
+++ b/storage/src/vespa/storage/common/storagecomponent.cpp
@@ -40,15 +40,6 @@ StorageComponent::setDocumentTypeRepo(std::shared_ptr<const document::DocumentTy
}
void
-StorageComponent::setLoadTypes(LoadTypeSetSP loadTypes)
-{
- std::lock_guard guard(_lock);
- _loadTypes = loadTypes;
- _generation++;
-}
-
-
-void
StorageComponent::setPriorityConfig(const PriorityConfig& c)
{
// Priority mapper is already thread safe.
@@ -88,7 +79,6 @@ StorageComponent::StorageComponent(StorageComponentRegister& compReg,
_nodeType(nullptr),
_index(0),
_repos(),
- _loadTypes(),
_priorityMapper(new PriorityMapper),
_bucketIdFactory(),
_distribution(),
@@ -133,13 +123,6 @@ StorageComponent::getTypeRepo() const
return _repos;
}
-StorageComponent::LoadTypeSetSP
-StorageComponent::getLoadTypes() const
-{
- std::lock_guard guard(_lock);
- return _loadTypes;
-}
-
StorageComponent::DistributionSP
StorageComponent::getDistribution() const
{
diff --git a/storage/src/vespa/storage/common/storagecomponent.h b/storage/src/vespa/storage/common/storagecomponent.h
index b33501e9dd1..9b08bb7b242 100644
--- a/storage/src/vespa/storage/common/storagecomponent.h
+++ b/storage/src/vespa/storage/common/storagecomponent.h
@@ -46,7 +46,6 @@ namespace document {
}
namespace documentapi {
class LoadType;
- class LoadTypeSet;
}
namespace storage {
@@ -67,7 +66,6 @@ public:
};
using UP = std::unique_ptr<StorageComponent>;
using PriorityConfig = vespa::config::content::core::internal::InternalStorPrioritymappingType;
- using LoadTypeSetSP = std::shared_ptr<documentapi::LoadTypeSet>;
using DistributionSP = std::shared_ptr<lib::Distribution>;
/**
@@ -83,7 +81,6 @@ public:
*/
void setNodeStateUpdater(NodeStateUpdater& updater);
void setDocumentTypeRepo(std::shared_ptr<const document::DocumentTypeRepo>);
- void setLoadTypes(LoadTypeSetSP);
void setPriorityConfig(const PriorityConfig&);
void setBucketIdFactory(const document::BucketIdFactory&);
void setDistribution(DistributionSP);
@@ -99,7 +96,6 @@ public:
vespalib::string getIdentity() const;
std::shared_ptr<Repos> getTypeRepo() const;
- LoadTypeSetSP getLoadTypes() const;
const document::BucketIdFactory& getBucketIdFactory() const { return _bucketIdFactory; }
uint8_t getPriority(const documentapi::LoadType&) const;
DistributionSP getDistribution() const;
@@ -110,8 +106,7 @@ private:
const lib::NodeType* _nodeType;
uint16_t _index;
std::shared_ptr<Repos> _repos;
- // TODO: move loadTypes and _distribution in to _repos so lock will only taken once and only copying one shared_ptr.
- LoadTypeSetSP _loadTypes;
+ // TODO: move _distribution in to _repos so lock will only taken once and only copying one shared_ptr.
std::unique_ptr<PriorityMapper> _priorityMapper;
document::BucketIdFactory _bucketIdFactory;
DistributionSP _distribution;
diff --git a/storage/src/vespa/storage/distributor/idealstatemanager.h b/storage/src/vespa/storage/distributor/idealstatemanager.h
index 10f18a35952..b30d7b35a6d 100644
--- a/storage/src/vespa/storage/distributor/idealstatemanager.h
+++ b/storage/src/vespa/storage/distributor/idealstatemanager.h
@@ -78,10 +78,7 @@ public:
getBucketStatus(out);
}
- DistributorComponent& getDistributorComponent() {
- return _distributorComponent; }
- StorageComponent::LoadTypeSetSP getLoadTypes() {
- return _distributorComponent.getLoadTypes(); }
+ DistributorComponent& getDistributorComponent() { return _distributorComponent; }
DistributorBucketSpaceRepo &getBucketSpaceRepo() { return _bucketSpaceRepo; }
const DistributorBucketSpaceRepo &getBucketSpaceRepo() const { return _bucketSpaceRepo; }
diff --git a/storage/src/vespa/storage/distributor/operations/idealstate/idealstateoperation.cpp b/storage/src/vespa/storage/distributor/operations/idealstate/idealstateoperation.cpp
index bc77f4cf88f..1a2eb8c6215 100644
--- a/storage/src/vespa/storage/distributor/operations/idealstate/idealstateoperation.cpp
+++ b/storage/src/vespa/storage/distributor/operations/idealstate/idealstateoperation.cpp
@@ -4,7 +4,6 @@
#include <vespa/storage/distributor/pendingmessagetracker.h>
#include <vespa/storage/distributor/idealstatemetricsset.h>
#include <vespa/storage/distributor/distributor_bucket_space_repo.h>
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
#include <vespa/log/log.h>
LOG_SETUP(".distributor.operation");
diff --git a/storage/src/vespa/storage/frameworkimpl/component/storagecomponentregisterimpl.cpp b/storage/src/vespa/storage/frameworkimpl/component/storagecomponentregisterimpl.cpp
index 9c421eb7f8f..73b78ce8626 100644
--- a/storage/src/vespa/storage/frameworkimpl/component/storagecomponentregisterimpl.cpp
+++ b/storage/src/vespa/storage/frameworkimpl/component/storagecomponentregisterimpl.cpp
@@ -16,7 +16,6 @@ StorageComponentRegisterImpl::StorageComponentRegisterImpl()
_nodeType(nullptr),
_index(0xffff),
_docTypeRepo(),
- _loadTypes(new documentapi::LoadTypeSet),
_priorityConfig(),
_bucketIdFactory(),
_distribution(),
@@ -38,7 +37,6 @@ StorageComponentRegisterImpl::registerStorageComponent(StorageComponent& smc)
smc.setNodeStateUpdater(*_nodeStateUpdater);
}
smc.setDocumentTypeRepo(_docTypeRepo);
- smc.setLoadTypes(_loadTypes);
smc.setPriorityConfig(_priorityConfig);
smc.setBucketIdFactory(_bucketIdFactory);
smc.setDistribution(_distribution);
@@ -85,16 +83,6 @@ StorageComponentRegisterImpl::setDocumentTypeRepo(std::shared_ptr<const document
}
void
-StorageComponentRegisterImpl::setLoadTypes(documentapi::LoadTypeSet::SP loadTypes)
-{
- std::lock_guard lock(_componentLock);
- _loadTypes = loadTypes;
- for (auto& component : _components) {
- component->setLoadTypes(loadTypes);
- }
-}
-
-void
StorageComponentRegisterImpl::setPriorityConfig(const PriorityConfig& config)
{
std::lock_guard lock(_componentLock);
diff --git a/storage/src/vespa/storage/frameworkimpl/component/storagecomponentregisterimpl.h b/storage/src/vespa/storage/frameworkimpl/component/storagecomponentregisterimpl.h
index b22ea93223b..ce9a739689b 100644
--- a/storage/src/vespa/storage/frameworkimpl/component/storagecomponentregisterimpl.h
+++ b/storage/src/vespa/storage/frameworkimpl/component/storagecomponentregisterimpl.h
@@ -8,7 +8,6 @@
#pragma once
#include <vespa/document/bucket/bucketidfactory.h>
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
#include <vespa/storage/common/storagecomponent.h>
#include <vespa/config-bucketspaces.h>
#include <vespa/storage/config/config-stor-prioritymapping.h>
@@ -30,7 +29,6 @@ class StorageComponentRegisterImpl
const lib::NodeType* _nodeType;
uint16_t _index;
std::shared_ptr<const document::DocumentTypeRepo> _docTypeRepo;
- documentapi::LoadTypeSet::SP _loadTypes;
PriorityConfig _priorityConfig;
document::BucketIdFactory _bucketIdFactory;
lib::Distribution::SP _distribution;
@@ -47,7 +45,6 @@ public:
const lib::NodeType& getNodeType() const { return *_nodeType; }
uint16_t getIndex() const { return _index; }
std::shared_ptr<const document::DocumentTypeRepo> getTypeRepo() { return _docTypeRepo; }
- documentapi::LoadTypeSet::SP getLoadTypes() { return _loadTypes; }
const document::BucketIdFactory& getBucketIdFactory() { return _bucketIdFactory; }
lib::Distribution::SP getDistribution() { return _distribution; }
NodeStateUpdater& getNodeStateUpdater() { return *_nodeStateUpdater; }
@@ -57,7 +54,6 @@ public:
void setNodeInfo(vespalib::stringref clusterName, const lib::NodeType& nodeType, uint16_t index);
virtual void setNodeStateUpdater(NodeStateUpdater& updater);
virtual void setDocumentTypeRepo(std::shared_ptr<const document::DocumentTypeRepo>);
- virtual void setLoadTypes(documentapi::LoadTypeSet::SP);
virtual void setPriorityConfig(const PriorityConfig&);
virtual void setBucketIdFactory(const document::BucketIdFactory&);
virtual void setDistribution(lib::Distribution::SP);
diff --git a/storage/src/vespa/storage/storageserver/communicationmanager.cpp b/storage/src/vespa/storage/storageserver/communicationmanager.cpp
index a229b6c1c58..e05b502f856 100644
--- a/storage/src/vespa/storage/storageserver/communicationmanager.cpp
+++ b/storage/src/vespa/storage/storageserver/communicationmanager.cpp
@@ -417,11 +417,10 @@ void CommunicationManager::configure(std::unique_ptr<CommunicationManagerConfig>
// Configure messagebus here as we for legacy reasons have
// config here.
auto documentTypeRepo = _component.getTypeRepo()->documentTypeRepo;
- auto loadTypes = _component.getLoadTypes();
_mbus = std::make_unique<mbus::RPCMessageBus>(
mbus::ProtocolSet()
- .add(std::make_shared<documentapi::DocumentProtocol>(*loadTypes, documentTypeRepo))
- .add(std::make_shared<mbusprot::StorageProtocol>(documentTypeRepo, *loadTypes)),
+ .add(std::make_shared<documentapi::DocumentProtocol>(documentTypeRepo))
+ .add(std::make_shared<mbusprot::StorageProtocol>(documentTypeRepo)),
params,
_configUri);
@@ -429,8 +428,7 @@ void CommunicationManager::configure(std::unique_ptr<CommunicationManagerConfig>
}
_use_direct_storageapi_rpc = config->useDirectStorageapiRpc;
- _message_codec_provider = std::make_unique<rpc::MessageCodecProvider>(_component.getTypeRepo()->documentTypeRepo,
- _component.getLoadTypes());
+ _message_codec_provider = std::make_unique<rpc::MessageCodecProvider>(_component.getTypeRepo()->documentTypeRepo);
_shared_rpc_resources = std::make_unique<rpc::SharedRpcResources>(_configUri, config->rpcport, config->rpc.numNetworkThreads);
_cc_rpc_service = std::make_unique<rpc::ClusterControllerApiRpcService>(*this, *_shared_rpc_resources);
rpc::StorageApiRpcService::Params rpc_params;
@@ -788,18 +786,17 @@ CommunicationManager::print(std::ostream& out, bool verbose, const std::string&
out << "CommunicationManager";
}
-void CommunicationManager::updateMessagebusProtocol(
- const std::shared_ptr<const document::DocumentTypeRepo>& repo) {
+void CommunicationManager::updateMessagebusProtocol(const std::shared_ptr<const document::DocumentTypeRepo>& repo) {
if (_mbus) {
framework::SecondTime now(_component.getClock().getTimeInSeconds());
- auto newDocumentProtocol = std::make_shared<documentapi::DocumentProtocol>(*_component.getLoadTypes(), repo);
+ auto newDocumentProtocol = std::make_shared<documentapi::DocumentProtocol>(repo);
std::lock_guard<std::mutex> guard(_earlierGenerationsLock);
_earlierGenerations.push_back(std::make_pair(now, _mbus->getMessageBus().putProtocol(newDocumentProtocol)));
- auto newStorageProtocol = std::make_shared<mbusprot::StorageProtocol>(repo, *_component.getLoadTypes());
+ auto newStorageProtocol = std::make_shared<mbusprot::StorageProtocol>(repo);
_earlierGenerations.push_back(std::make_pair(now, _mbus->getMessageBus().putProtocol(newStorageProtocol)));
}
if (_message_codec_provider) {
- _message_codec_provider->update_atomically(repo, _component.getLoadTypes());
+ _message_codec_provider->update_atomically(repo);
}
}
diff --git a/storage/src/vespa/storage/storageserver/rpc/message_codec_provider.cpp b/storage/src/vespa/storage/storageserver/rpc/message_codec_provider.cpp
index 90ea4291a30..59c456daff4 100644
--- a/storage/src/vespa/storage/storageserver/rpc/message_codec_provider.cpp
+++ b/storage/src/vespa/storage/storageserver/rpc/message_codec_provider.cpp
@@ -4,20 +4,17 @@
namespace storage::rpc {
-WrappedCodec::WrappedCodec(std::shared_ptr<const document::DocumentTypeRepo> doc_type_repo,
- std::shared_ptr<const documentapi::LoadTypeSet> load_type_set)
+WrappedCodec::WrappedCodec(std::shared_ptr<const document::DocumentTypeRepo> doc_type_repo)
: _doc_type_repo(std::move(doc_type_repo)),
- _load_type_set(std::move(load_type_set)),
- _codec(std::make_unique<mbusprot::ProtocolSerialization7>(_doc_type_repo, *_load_type_set))
+ _codec(std::make_unique<mbusprot::ProtocolSerialization7>(_doc_type_repo))
{
}
WrappedCodec::~WrappedCodec() = default;
-MessageCodecProvider::MessageCodecProvider(std::shared_ptr<const document::DocumentTypeRepo> doc_type_repo,
- std::shared_ptr<const documentapi::LoadTypeSet> load_type_set)
+MessageCodecProvider::MessageCodecProvider(std::shared_ptr<const document::DocumentTypeRepo> doc_type_repo)
: _rw_mutex(),
- _active_codec(std::make_shared<WrappedCodec>(std::move(doc_type_repo), std::move(load_type_set)))
+ _active_codec(std::make_shared<WrappedCodec>(std::move(doc_type_repo)))
{
}
@@ -28,11 +25,10 @@ std::shared_ptr<const WrappedCodec> MessageCodecProvider::wrapped_codec() const
return _active_codec;
}
-void MessageCodecProvider::update_atomically(std::shared_ptr<const document::DocumentTypeRepo> doc_type_repo,
- std::shared_ptr<const documentapi::LoadTypeSet> load_type_set)
+void MessageCodecProvider::update_atomically(std::shared_ptr<const document::DocumentTypeRepo> doc_type_repo)
{
std::unique_lock w_lock(_rw_mutex);
- _active_codec = std::make_shared<WrappedCodec>(std::move(doc_type_repo), std::move(load_type_set));
+ _active_codec = std::make_shared<WrappedCodec>(std::move(doc_type_repo));
}
}
diff --git a/storage/src/vespa/storage/storageserver/rpc/message_codec_provider.h b/storage/src/vespa/storage/storageserver/rpc/message_codec_provider.h
index fdadfd6f910..7643297760b 100644
--- a/storage/src/vespa/storage/storageserver/rpc/message_codec_provider.h
+++ b/storage/src/vespa/storage/storageserver/rpc/message_codec_provider.h
@@ -5,18 +5,15 @@
#include <shared_mutex>
namespace document { class DocumentTypeRepo; }
-namespace documentapi { class LoadTypeSet; }
namespace storage::mbusprot { class ProtocolSerialization7; }
namespace storage::rpc {
class WrappedCodec {
const std::shared_ptr<const document::DocumentTypeRepo> _doc_type_repo;
- const std::shared_ptr<const documentapi::LoadTypeSet> _load_type_set;
std::unique_ptr<mbusprot::ProtocolSerialization7> _codec;
public:
- WrappedCodec(std::shared_ptr<const document::DocumentTypeRepo> doc_type_repo,
- std::shared_ptr<const documentapi::LoadTypeSet> load_type_set);
+ WrappedCodec(std::shared_ptr<const document::DocumentTypeRepo> doc_type_repo);
~WrappedCodec();
[[nodiscard]] const mbusprot::ProtocolSerialization7& codec() const noexcept { return *_codec; }
@@ -34,14 +31,12 @@ class MessageCodecProvider {
mutable std::shared_mutex _rw_mutex;
std::shared_ptr<WrappedCodec> _active_codec;
public:
- MessageCodecProvider(std::shared_ptr<const document::DocumentTypeRepo> doc_type_repo,
- std::shared_ptr<const documentapi::LoadTypeSet> load_type_set);
+ MessageCodecProvider(std::shared_ptr<const document::DocumentTypeRepo> doc_type_repo);
~MessageCodecProvider();
[[nodiscard]] std::shared_ptr<const WrappedCodec> wrapped_codec() const noexcept;
- void update_atomically(std::shared_ptr<const document::DocumentTypeRepo> doc_type_repo,
- std::shared_ptr<const documentapi::LoadTypeSet> load_type_set);
+ void update_atomically(std::shared_ptr<const document::DocumentTypeRepo> doc_type_repo);
};
}
diff --git a/storage/src/vespa/storage/storageserver/rpc/storage_api_rpc_service.h b/storage/src/vespa/storage/storageserver/rpc/storage_api_rpc_service.h
index 3ccd235fc43..7fc382fda07 100644
--- a/storage/src/vespa/storage/storageserver/rpc/storage_api_rpc_service.h
+++ b/storage/src/vespa/storage/storageserver/rpc/storage_api_rpc_service.h
@@ -14,7 +14,6 @@ class FRT_RPCRequest;
class FRT_Target;
namespace document { class DocumentTypeRepo; }
-namespace documentapi { class LoadTypeSet; }
namespace storage {
diff --git a/storage/src/vespa/storage/storageserver/storagenode.cpp b/storage/src/vespa/storage/storageserver/storagenode.cpp
index 2a6f45731f8..c6368ef0ee7 100644
--- a/storage/src/vespa/storage/storageserver/storagenode.cpp
+++ b/storage/src/vespa/storage/storageserver/storagenode.cpp
@@ -7,7 +7,6 @@
#include "statereporter.h"
#include "storagemetricsset.h"
#include "storagenodecontext.h"
-#include "tls_statistics_metrics_wrapper.h"
#include <vespa/storage/frameworkimpl/status/statuswebserver.h>
#include <vespa/storage/frameworkimpl/thread/deadlockdetector.h>
@@ -145,7 +144,6 @@ StorageNode::initialize()
_rootFolder = _serverConfig->rootFolder;
_context.getComponentRegister().setNodeInfo(_serverConfig->clusterName, getNodeType(), _serverConfig->nodeIndex);
- _context.getComponentRegister().setLoadTypes(make_shared<documentapi::LoadTypeSet>(_configUri));
_context.getComponentRegister().setBucketIdFactory(document::BucketIdFactory());
_context.getComponentRegister().setDistribution(make_shared<lib::Distribution>(*_distributionConfig));
_context.getComponentRegister().setPriorityConfig(*_priorityConfig);
@@ -164,11 +162,11 @@ StorageNode::initialize()
// update node state according min used bits etc.
// Needs node type to be set right away. Needs thread pool, index and
// dead lock detector too, but not before open()
- _stateManager.reset(new StateManager(
+ _stateManager = std::make_unique<StateManager>(
_context.getComponentRegister(),
_context.getComponentRegister().getMetricManager(),
std::move(_hostInfo),
- _singleThreadedDebugMode));
+ _singleThreadedDebugMode);
_context.getComponentRegister().setNodeStateUpdater(*_stateManager);
// Create VDS root folder, in case it doesn't already exist.
diff --git a/storage/src/vespa/storage/visiting/visitormanager.cpp b/storage/src/vespa/storage/visiting/visitormanager.cpp
index 53846075ead..7c138afeb0f 100644
--- a/storage/src/vespa/storage/visiting/visitormanager.cpp
+++ b/storage/src/vespa/storage/visiting/visitormanager.cpp
@@ -8,7 +8,6 @@
#include "recoveryvisitor.h"
#include <vespa/storage/common/statusmessages.h>
#include <vespa/config/common/exceptions.h>
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
#include <vespa/vespalib/util/stringfmt.h>
#include <cassert>
diff --git a/storage/src/vespa/storage/visiting/visitormessagesessionfactory.h b/storage/src/vespa/storage/visiting/visitormessagesessionfactory.h
index 5515595a1c5..308bf1959a8 100644
--- a/storage/src/vespa/storage/visiting/visitormessagesessionfactory.h
+++ b/storage/src/vespa/storage/visiting/visitormessagesessionfactory.h
@@ -3,6 +3,7 @@
#pragma once
#include "visitormessagesession.h"
+#include <vespa/documentapi/messagebus/priority.h>
namespace storage {
@@ -12,13 +13,11 @@ class VisitorThread;
struct VisitorMessageSessionFactory {
typedef std::unique_ptr<VisitorMessageSessionFactory> UP;
- virtual ~VisitorMessageSessionFactory() {}
+ virtual ~VisitorMessageSessionFactory() = default;
- virtual VisitorMessageSession::UP createSession(Visitor&,
- VisitorThread&) = 0;
+ virtual VisitorMessageSession::UP createSession(Visitor&, VisitorThread&) = 0;
- virtual documentapi::Priority::Value toDocumentPriority(
- uint8_t storagePriority) const = 0;
+ virtual documentapi::Priority::Value toDocumentPriority(uint8_t storagePriority) const = 0;
};
} // storage