aboutsummaryrefslogtreecommitdiffstats
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
parent989b8b5afa58dcbfa03e3999d75802ac6c70aa94 (diff)
GC LoadTypeSet
-rw-r--r--documentapi/CMakeLists.txt1
-rw-r--r--documentapi/src/tests/loadtypes/.gitignore3
-rw-r--r--documentapi/src/tests/loadtypes/CMakeLists.txt10
-rw-r--r--documentapi/src/tests/loadtypes/loadtypetest.cpp74
-rw-r--r--documentapi/src/tests/messagebus/messagebus_test.cpp9
-rw-r--r--documentapi/src/tests/messages/testbase.cpp4
-rw-r--r--documentapi/src/tests/messages/testbase.h5
-rw-r--r--documentapi/src/tests/policies/policies_test.cpp31
-rw-r--r--documentapi/src/tests/policies/testframe.cpp3
-rw-r--r--documentapi/src/tests/policies/testframe.h2
-rw-r--r--documentapi/src/tests/policyfactory/policyfactory.cpp4
-rw-r--r--documentapi/src/tests/routablefactory/routablefactory.cpp7
-rw-r--r--documentapi/src/vespa/documentapi/loadtypes/CMakeLists.txt1
-rw-r--r--documentapi/src/vespa/documentapi/loadtypes/loadtypeset.cpp84
-rw-r--r--documentapi/src/vespa/documentapi/loadtypes/loadtypeset.h69
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/documentprotocol.cpp6
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/documentprotocol.h5
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/iroutablefactory.h4
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/routablefactories60.cpp6
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/routablefactories60.h4
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/routablerepository.cpp9
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/routablerepository.h5
-rw-r--r--searchcore/src/apps/vespa-dump-feed/vespa-dump-feed.cpp5
-rw-r--r--searchcore/src/apps/vespa-feed-bm/bm_message_bus.cpp7
-rw-r--r--searchcore/src/apps/vespa-feed-bm/bm_message_bus.h4
-rw-r--r--searchcore/src/apps/vespa-feed-bm/storage_api_rpc_bm_feed_handler.cpp4
-rw-r--r--searchcore/src/apps/vespa-feed-bm/vespa_feed_bm.cpp9
-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
-rw-r--r--storageapi/src/tests/mbusprot/storageprotocoltest.cpp4
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp10
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h10
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp5
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.h9
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_2.h5
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization6_0.cpp9
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization6_0.h8
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization7.cpp17
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization7.h6
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/storageprotocol.cpp13
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/storageprotocol.h5
-rw-r--r--vespaclient/src/vespa/vespaclient/vesparoute/application.cpp3
-rw-r--r--vespaclient/src/vespa/vespaclient/vesparoute/application.h2
64 files changed, 109 insertions, 521 deletions
diff --git a/documentapi/CMakeLists.txt b/documentapi/CMakeLists.txt
index 86d29732399..3a6ce0e3a8d 100644
--- a/documentapi/CMakeLists.txt
+++ b/documentapi/CMakeLists.txt
@@ -24,7 +24,6 @@ vespa_define_module(
messagebus_messagebus-test
TESTS
- src/tests/loadtypes
src/tests/messagebus
src/tests/messages
src/tests/policies
diff --git a/documentapi/src/tests/loadtypes/.gitignore b/documentapi/src/tests/loadtypes/.gitignore
deleted file mode 100644
index 497fe4d4b3f..00000000000
--- a/documentapi/src/tests/loadtypes/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-.depend
-Makefile
-documentapi_loadtype_test_app
diff --git a/documentapi/src/tests/loadtypes/CMakeLists.txt b/documentapi/src/tests/loadtypes/CMakeLists.txt
deleted file mode 100644
index bac42f9a27e..00000000000
--- a/documentapi/src/tests/loadtypes/CMakeLists.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(documentapi_loadtype_test_app TEST
- SOURCES
- loadtypetest.cpp
- DEPENDS
- documentapi
- vdstestlib
- GTest::GTest
-)
-vespa_add_test(NAME documentapi_loadtype_test_app COMMAND documentapi_loadtype_test_app)
diff --git a/documentapi/src/tests/loadtypes/loadtypetest.cpp b/documentapi/src/tests/loadtypes/loadtypetest.cpp
deleted file mode 100644
index 178b9f9227b..00000000000
--- a/documentapi/src/tests/loadtypes/loadtypetest.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
-#include <vespa/config/config.h>
-#include <vespa/config/common/exceptions.h>
-#include <vespa/vespalib/gtest/gtest.h>
-
-namespace documentapi {
-
-void
-assertConfigFailure(const vespalib::string &configId, const vespalib::string &expError)
-{
- try {
- LoadTypeSet createdFromConfigId(configId);
- FAIL() << "Config was expected to fail with error: " << expError;
- } catch (config::InvalidConfigException &e) {
- EXPECT_TRUE(e.getMessage().find(expError) != std::string::npos);
- }
-}
-
-TEST(LoadTypeTest, testConfig)
-{
- // Using id 0 is illegal. Reserved for default type.
- assertConfigFailure(
- "raw:"
- "type[1]\n"
- "type[0].id 0\n"
- "type[0].name \"foo\"\n"
- "type[0].priority \"\"",
- "Load type identifiers need to be");
- // Using name "default" is illegal. Reserved for default type.
- assertConfigFailure(
- "raw:"
- "type[1]\n"
- "type[0].id 1\n"
- "type[0].name \"default\"\n"
- "type[0].priority \"\"", "Load type names need to be");
- // Identifiers need to be unique.
- assertConfigFailure(
- "raw:"
- "type[2]\n"
- "type[0].id 1\n"
- "type[0].name \"test\"\n"
- "type[0].priority \"\"\n"
- "type[1].id 1\n"
- "type[1].name \"testa\"\n"
- "type[1].priority \"\"", "Load type identifiers need to be");
- // Names need to be unique.
- assertConfigFailure(
- "raw:"
- "type[2]\n"
- "type[0].id 1\n"
- "type[0].name \"test\"\n"
- "type[0].priority \"\"\n"
- "type[1].id 2\n"
- "type[1].name \"test\"\n"
- "type[1].priority \"\"" , "Load type names need to be");
- LoadTypeSet set("raw:"
- "type[3]\n"
- "type[0].id 1\n"
- "type[0].name \"user\"\n"
- "type[0].priority \"\"\n"
- "type[1].id 2\n"
- "type[1].name \"maintenance\"\n"
- "type[1].priority \"\"\n"
- "type[2].id 3\n"
- "type[2].name \"put\"\n"
- "type[2].priority \"\""
- );
-}
-
-} // documentapi
-
-GTEST_MAIN_RUN_ALL_TESTS()
diff --git a/documentapi/src/tests/messagebus/messagebus_test.cpp b/documentapi/src/tests/messagebus/messagebus_test.cpp
index 3406db966f0..8f60bbc78e4 100644
--- a/documentapi/src/tests/messagebus/messagebus_test.cpp
+++ b/documentapi/src/tests/messagebus/messagebus_test.cpp
@@ -2,12 +2,9 @@
#include <vespa/document/base/testdocrepo.h>
#include <vespa/document/datatype/documenttype.h>
-#include <vespa/document/fieldvalue/document.h>
#include <vespa/document/repo/documenttyperepo.h>
#include <vespa/document/update/documentupdate.h>
#include <vespa/documentapi/documentapi.h>
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
-#include <vespa/vdslib/state/clusterstate.h>
#include <vespa/vespalib/testkit/testapp.h>
using document::DocumentTypeRepo;
@@ -66,8 +63,7 @@ void Test::testMessage() {
EXPECT_TRUE(upd1.getType() == DocumentProtocol::MESSAGE_UPDATEDOCUMENT);
EXPECT_TRUE(upd1.getProtocol() == "document");
- LoadTypeSet set;
- DocumentProtocol protocol(set, _repo);
+ DocumentProtocol protocol(_repo);
Blob blob = protocol.encode(vespalib::Version(6,221), upd1);
EXPECT_TRUE(blob.size() > 0);
@@ -89,8 +85,7 @@ void Test::testMessage() {
}
void Test::testProtocol() {
- LoadTypeSet set;
- DocumentProtocol protocol(set, _repo);
+ DocumentProtocol protocol(_repo);
EXPECT_TRUE(protocol.getName() == "document");
IRoutingPolicy::UP policy = protocol.createPolicy(string("DocumentRouteSelector"), string("file:documentrouteselectorpolicy.cfg"));
diff --git a/documentapi/src/tests/messages/testbase.cpp b/documentapi/src/tests/messages/testbase.cpp
index 18902cb39a7..967c9990800 100644
--- a/documentapi/src/tests/messages/testbase.cpp
+++ b/documentapi/src/tests/messages/testbase.cpp
@@ -19,11 +19,9 @@ TestBase::TestBase() :
_repo(new DocumentTypeRepo(readDocumenttypesConfig(
TEST_PATH("../../../test/cfg/testdoctypes.cfg")))),
_dataPath(TEST_PATH("../../../test/crosslanguagefiles")),
- _loadTypes(),
- _protocol(_loadTypes, _repo),
+ _protocol(_repo),
_tests()
{
- _loadTypes.addLoadType(34, "foo", Priority::PRI_NORMAL_2);
}
int
diff --git a/documentapi/src/tests/messages/testbase.h b/documentapi/src/tests/messages/testbase.h
index e87f9104189..89398552f63 100644
--- a/documentapi/src/tests/messages/testbase.h
+++ b/documentapi/src/tests/messages/testbase.h
@@ -2,10 +2,10 @@
#pragma once
#include <vespa/documentapi/messagebus/documentprotocol.h>
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
#include <vespa/messagebus/routable.h>
#include <vespa/vespalib/component/version.h>
#include <vespa/vespalib/testkit/testapp.h>
+#include <map>
using namespace documentapi;
@@ -24,8 +24,7 @@ typedef bool (TestBase::*TEST_METHOD_PT)();
class TestBase : public vespalib::TestApp {
std::shared_ptr<const document::DocumentTypeRepo> _repo;
protected:
- const string _dataPath;
- LoadTypeSet _loadTypes;
+ const string _dataPath;
DocumentProtocol _protocol;
std::map<uint32_t, TEST_METHOD_PT> _tests;
diff --git a/documentapi/src/tests/policies/policies_test.cpp b/documentapi/src/tests/policies/policies_test.cpp
index a4eaf54c1dc..0c659f589d6 100644
--- a/documentapi/src/tests/policies/policies_test.cpp
+++ b/documentapi/src/tests/policies/policies_test.cpp
@@ -45,7 +45,6 @@ using namespace std::chrono_literals;
class Test : public vespalib::TestApp {
private:
- LoadTypeSet _loadTypes;
std::shared_ptr<const DocumentTypeRepo> _repo;
const DataType *_docType;
@@ -140,7 +139,7 @@ Test::Main() {
void
Test::testProtocol()
{
- mbus::IProtocol::SP protocol(new DocumentProtocol(_loadTypes, _repo));
+ mbus::IProtocol::SP protocol(new DocumentProtocol(_repo));
mbus::IRoutingPolicy::UP policy = protocol->createPolicy("AND", "");
ASSERT_TRUE(dynamic_cast<ANDPolicy*>(policy.get()) != nullptr);
@@ -220,7 +219,7 @@ Test::requireThatExternPolicySelectsFromExternSlobrok()
for (uint32_t i = 0; i < 10; ++i) {
mbus::TestServer *server = new mbus::TestServer(
mbus::Identity(make_string("docproc/cluster.default/%d", i)), mbus::RoutingSpec(), slobrok,
- mbus::IProtocol::SP(new DocumentProtocol(_loadTypes, _repo)));
+ mbus::IProtocol::SP(new DocumentProtocol(_repo)));
servers.push_back(server);
server->net.registerSession("chain.default");
}
@@ -247,7 +246,7 @@ Test::requireThatExternPolicyMergesOneReplyAsProtocol()
frame.setMessage(newPutDocumentMessage("id:ns:testdoc::"));
mbus::Slobrok slobrok;
mbus::TestServer server(mbus::Identity("docproc/cluster.default/0"), mbus::RoutingSpec(), slobrok,
- mbus::IProtocol::SP(new DocumentProtocol(_loadTypes, _repo)));
+ mbus::IProtocol::SP(new DocumentProtocol(_repo)));
server.net.registerSession("chain.default");
setupExternPolicy(frame, slobrok, "docproc/cluster.default/0/chain.default", 1);
EXPECT_TRUE(frame.testMergeOneReply(server.net.getConnectionSpec() + "/chain.default"));
@@ -310,7 +309,7 @@ Test::testExternSend()
// Setup local source node.
mbus::Slobrok local;
mbus::TestServer src(mbus::Identity("src"), mbus::RoutingSpec(), local,
- std::make_shared<DocumentProtocol>(_loadTypes, _repo));
+ std::make_shared<DocumentProtocol>(_repo));
mbus::Receptor sr;
mbus::SourceSession::UP ss = src.mb.createSourceSession(sr, mbus::SourceSessionParams().setTimeout(60s));
@@ -319,12 +318,12 @@ Test::testExternSend()
.addTable(mbus::RoutingTableSpec(DocumentProtocol::NAME)
.addRoute(mbus::RouteSpec("default").addHop("dst"))
.addHop(mbus::HopSpec("dst", "dst/session"))),
- slobrok, std::make_shared<DocumentProtocol>(_loadTypes, _repo));
+ slobrok, std::make_shared<DocumentProtocol>(_repo));
mbus::Receptor ir;
mbus::IntermediateSession::UP is = itr.mb.createIntermediateSession("session", true, ir, ir);
mbus::TestServer dst(mbus::Identity("dst"), mbus::RoutingSpec(), slobrok,
- std::make_shared<DocumentProtocol>(_loadTypes, _repo));
+ std::make_shared<DocumentProtocol>(_repo));
mbus::Receptor dr;
mbus::DestinationSession::UP ds = dst.mb.createDestinationSession("session", true, dr);
@@ -351,7 +350,7 @@ Test::testExternMultipleSlobroks()
{
mbus::Slobrok local;
mbus::TestServer src(mbus::Identity("src"), mbus::RoutingSpec(), local,
- std::make_shared<DocumentProtocol>(_loadTypes, _repo));
+ std::make_shared<DocumentProtocol>(_repo));
mbus::Receptor sr;
mbus::SourceSession::UP ss = src.mb.createSourceSession(sr, mbus::SourceSessionParams().setTimeout(60s));
@@ -362,7 +361,7 @@ Test::testExternMultipleSlobroks()
spec.append(vespalib::make_string("tcp/localhost:%d", ext.port()));
mbus::TestServer dst(mbus::Identity("dst"), mbus::RoutingSpec(), ext,
- std::make_shared<DocumentProtocol>(_loadTypes, _repo));
+ std::make_shared<DocumentProtocol>(_repo));
mbus::DestinationSession::UP ds = dst.mb.createDestinationSession("session", true, dr);
mbus::Message::UP msg = std::make_unique<GetDocumentMessage>(DocumentId("id:ns:testdoc::"));
@@ -378,7 +377,7 @@ Test::testExternMultipleSlobroks()
spec.append(vespalib::make_string(",tcp/localhost:%d", ext.port()));
mbus::TestServer dst(mbus::Identity("dst"), mbus::RoutingSpec(), ext,
- std::make_shared<DocumentProtocol>(_loadTypes, _repo));
+ std::make_shared<DocumentProtocol>(_repo));
mbus::DestinationSession::UP ds = dst.mb.createDestinationSession("session", true, dr);
mbus::Message::UP msg = std::make_unique<GetDocumentMessage>(DocumentId("id:ns:testdoc::"));
@@ -592,12 +591,12 @@ Test::testDocumentRouteSelector()
"route[0].selector \"foo bar\"\n"
"route[0].feed \"baz\"\n";
{
- DocumentProtocol protocol(_loadTypes, _repo, okConfig);
+ DocumentProtocol protocol(_repo, okConfig);
EXPECT_TRUE(dynamic_cast<DocumentRouteSelectorPolicy*>(protocol.createPolicy("DocumentRouteSelector", "").get()) != nullptr);
EXPECT_TRUE(dynamic_cast<ErrorPolicy*>(protocol.createPolicy("DocumentRouteSelector", errConfig).get()) != nullptr);
}
{
- DocumentProtocol protocol(_loadTypes, _repo, errConfig);
+ DocumentProtocol protocol(_repo, errConfig);
EXPECT_TRUE(dynamic_cast<ErrorPolicy*>(protocol.createPolicy("DocumentRouteSelector", "").get()) != nullptr);
EXPECT_TRUE(dynamic_cast<DocumentRouteSelectorPolicy*>(protocol.createPolicy("DocumentRouteSelector", okConfig).get()) != nullptr);
}
@@ -802,7 +801,7 @@ Test::requireThatStoragePolicyIsRandomWithoutState()
mbus::TestServer *srv = new mbus::TestServer(
mbus::Identity(vespalib::make_string("storage/cluster.mycluster/distributor/%d", i)),
mbus::RoutingSpec(), slobrok,
- mbus::IProtocol::SP(new DocumentProtocol(_loadTypes, _repo)));
+ mbus::IProtocol::SP(new DocumentProtocol(_repo)));
servers.push_back(srv);
srv->net.registerSession("default");
}
@@ -857,7 +856,7 @@ Test::requireThatStoragePolicyIsTargetedWithState()
mbus::TestServer *srv = new mbus::TestServer(
mbus::Identity(vespalib::make_string("storage/cluster.mycluster/distributor/%d", i)),
mbus::RoutingSpec(), slobrok,
- make_shared<DocumentProtocol>(_loadTypes, _repo));
+ make_shared<DocumentProtocol>(_repo));
servers.push_back(srv);
srv->net.registerSession("default");
}
@@ -897,7 +896,7 @@ Test::requireThatStoragePolicyCombinesSystemAndSlobrokState()
mbus::Slobrok slobrok;
mbus::TestServer server(mbus::Identity("storage/cluster.mycluster/distributor/0"),
mbus::RoutingSpec(), slobrok,
- make_shared<DocumentProtocol>(_loadTypes, _repo));
+ make_shared<DocumentProtocol>(_repo));
server.net.registerSession("default");
string param = vespalib::make_string(
@@ -1053,7 +1052,7 @@ Test::trySelect(TestFrame &frame, uint32_t numSelects, const std::vector<string>
bool
Test::isErrorPolicy(const string &name, const string &param)
{
- DocumentProtocol protocol(_loadTypes, _repo);
+ DocumentProtocol protocol(_repo);
mbus::IRoutingPolicy::UP policy = protocol.createPolicy(name, param);
return policy && dynamic_cast<ErrorPolicy*>(policy.get()) != nullptr;
diff --git a/documentapi/src/tests/policies/testframe.cpp b/documentapi/src/tests/policies/testframe.cpp
index 585885b7c4b..16ee97ce7f4 100644
--- a/documentapi/src/tests/policies/testframe.cpp
+++ b/documentapi/src/tests/policies/testframe.cpp
@@ -60,9 +60,8 @@ public:
TestFrame::TestFrame(const std::shared_ptr<const DocumentTypeRepo> &repo, const string &ident) :
_identity(ident),
_slobrok(std::make_shared<mbus::Slobrok>()),
- _set(),
_net(std::make_shared<MyNetwork>(mbus::RPCNetworkParams(_slobrok->config()).setIdentity(mbus::Identity(ident)))),
- _mbus(std::make_shared<mbus::MessageBus>(*_net, mbus::MessageBusParams().addProtocol(std::make_shared<DocumentProtocol>(_set, repo)))),
+ _mbus(std::make_shared<mbus::MessageBus>(*_net, mbus::MessageBusParams().addProtocol(std::make_shared<DocumentProtocol>(repo)))),
_msg(),
_hop(mbus::HopSpec("foo", "bar")),
_handler()
diff --git a/documentapi/src/tests/policies/testframe.h b/documentapi/src/tests/policies/testframe.h
index d85cde129c0..41f953922f9 100644
--- a/documentapi/src/tests/policies/testframe.h
+++ b/documentapi/src/tests/policies/testframe.h
@@ -7,7 +7,6 @@
#include <vespa/messagebus/network/inetwork.h>
#include <vespa/messagebus/testlib/receptor.h>
#include <vespa/messagebus/testlib/slobrok.h>
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
using documentapi::string;
@@ -15,7 +14,6 @@ class TestFrame : public mbus::IReplyHandler {
private:
string _identity;
std::shared_ptr<mbus::Slobrok> _slobrok;
- documentapi::LoadTypeSet _set;
std::shared_ptr<mbus::INetwork> _net;
std::shared_ptr<mbus::MessageBus> _mbus;
mbus::Message::UP _msg;
diff --git a/documentapi/src/tests/policyfactory/policyfactory.cpp b/documentapi/src/tests/policyfactory/policyfactory.cpp
index 729818c5c4a..8c38e93e659 100644
--- a/documentapi/src/tests/policyfactory/policyfactory.cpp
+++ b/documentapi/src/tests/policyfactory/policyfactory.cpp
@@ -2,7 +2,6 @@
#include <vespa/documentapi/messagebus/iroutingpolicyfactory.h>
#include <vespa/document/repo/documenttyperepo.h>
#include <vespa/documentapi/messagebus/documentprotocol.h>
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
#include <vespa/documentapi/messagebus/messages/removedocumentmessage.h>
#include <vespa/messagebus/testlib/receptor.h>
#include <vespa/messagebus/testlib/slobrok.h>
@@ -82,9 +81,8 @@ Test::Main()
std::shared_ptr<const DocumentTypeRepo> repo(new DocumentTypeRepo);
mbus::Slobrok slobrok;
- LoadTypeSet loadTypes;
mbus::TestServer
- srv(mbus::MessageBusParams().addProtocol(std::make_shared<DocumentProtocol>(loadTypes, repo)),
+ srv(mbus::MessageBusParams().addProtocol(std::make_shared<DocumentProtocol>(repo)),
mbus::RPCNetworkParams(slobrok.config()));
mbus::Receptor handler;
mbus::SourceSession::UP src = srv.mb.createSourceSession(mbus::SourceSessionParams().setReplyHandler(handler));
diff --git a/documentapi/src/tests/routablefactory/routablefactory.cpp b/documentapi/src/tests/routablefactory/routablefactory.cpp
index 32a36ef0b59..92e982b2be4 100644
--- a/documentapi/src/tests/routablefactory/routablefactory.cpp
+++ b/documentapi/src/tests/routablefactory/routablefactory.cpp
@@ -6,7 +6,6 @@
#include <vespa/messagebus/testlib/slobrok.h>
#include <vespa/messagebus/testlib/testserver.h>
#include <vespa/vespalib/testkit/testapp.h>
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
using document::DocumentTypeRepo;
using namespace documentapi;
@@ -87,7 +86,6 @@ class TestData {
public:
mbus::Slobrok _slobrok;
- LoadTypeSet _loadTypes;
DocumentProtocol::SP _srcProtocol;
mbus::TestServer _srcServer;
mbus::SourceSession::UP _srcSession;
@@ -116,13 +114,12 @@ TEST_APPHOOK(Test);
TestData::TestData() :
_repo(std::make_shared<DocumentTypeRepo>()),
_slobrok(),
- _loadTypes(),
- _srcProtocol(std::make_shared<DocumentProtocol>(_loadTypes, _repo)),
+ _srcProtocol(std::make_shared<DocumentProtocol>(_repo)),
_srcServer(mbus::MessageBusParams().addProtocol(_srcProtocol),
mbus::RPCNetworkParams(_slobrok.config())),
_srcSession(),
_srcHandler(),
- _dstProtocol(std::make_shared<DocumentProtocol>(_loadTypes, _repo)),
+ _dstProtocol(std::make_shared<DocumentProtocol>(_repo)),
_dstServer(mbus::MessageBusParams().addProtocol(_dstProtocol),
mbus::RPCNetworkParams(_slobrok.config()).setIdentity(mbus::Identity("dst"))),
_dstSession(),
diff --git a/documentapi/src/vespa/documentapi/loadtypes/CMakeLists.txt b/documentapi/src/vespa/documentapi/loadtypes/CMakeLists.txt
index 42f4d66af07..84bc871b452 100644
--- a/documentapi/src/vespa/documentapi/loadtypes/CMakeLists.txt
+++ b/documentapi/src/vespa/documentapi/loadtypes/CMakeLists.txt
@@ -2,6 +2,5 @@
vespa_add_library(documentapi_documentapiloadtypes OBJECT
SOURCES
loadtype.cpp
- loadtypeset.cpp
DEPENDS
)
diff --git a/documentapi/src/vespa/documentapi/loadtypes/loadtypeset.cpp b/documentapi/src/vespa/documentapi/loadtypes/loadtypeset.cpp
deleted file mode 100644
index 42aa79332db..00000000000
--- a/documentapi/src/vespa/documentapi/loadtypes/loadtypeset.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-#include "loadtypeset.h"
-#include <vespa/config-load-type.h>
-#include <vespa/config/config.h>
-#include <vespa/config/common/exceptions.h>
-#include <vespa/vespalib/util/stringfmt.h>
-#include <vespa/vespalib/stllike/hash_map.hpp>
-#include <vespa/config/helper/configgetter.hpp>
-
-
-namespace documentapi {
-
-void LoadTypeSet::configure(const LoadTypeConfig& config) {
- // This configure does not support live reconfig
- if (!_types.empty()) return;
-
- addLoadType(0, LoadType::DEFAULT.getName(), LoadType::DEFAULT.getPriority());
-
- for (uint32_t i=0; i<config.type.size(); ++i) {
- addLoadType(config.type[i].id, config.type[i].name, Priority::getPriority(config.type[i].priority));
- }
-}
-
-LoadTypeSet::LoadTypeSet()
-{
- addLoadType(0, LoadType::DEFAULT.getName(), LoadType::DEFAULT.getPriority());
-}
-
-LoadTypeSet::LoadTypeSet(const config::ConfigUri & configUri)
-{
- std::unique_ptr<LoadTypeConfig> cfg = config::ConfigGetter<LoadTypeConfig>::getConfig(configUri.getConfigId(), configUri.getContext());
- configure(*cfg);
-}
-
-LoadTypeSet::LoadTypeSet(const LoadTypeConfig& config)
-{
- configure(config);
-}
-
-LoadTypeSet::~LoadTypeSet() = default;
-
-void
-LoadTypeSet::addLoadType(uint32_t id, const string& name, Priority::Value priority) {
- auto it(_types.find(id));
- if (it != _types.end()) {
- throw config::InvalidConfigException("Load type identifiers need to be non-overlapping, 1+ and without gaps.\n", VESPA_STRLOC);
- }
- if (_nameMap.find(name) != _nameMap.end()) {
- throw config::InvalidConfigException("Load type names need to be unique and different from the reserved name \"default\".", VESPA_STRLOC);
- }
- _types[id] = std::make_unique<LoadType>(id, name, priority);
- _nameMap[name] = _types[id].get();
-}
-
-metrics::LoadTypeSet
-LoadTypeSet::getMetricLoadTypes() const {
- metrics::LoadTypeSet result;
- for (const auto & entry : _types) {
- result.push_back(metrics::LoadType(entry.first, entry.second->getName()));
- }
- return result;
-}
-
-const LoadType&
-LoadTypeSet::operator[](uint32_t id) const {
- auto it(_types.find(id));
- return (it == _types.end() ? LoadType::DEFAULT : *it->second);
-}
-
-const LoadType&
-LoadTypeSet::operator[](const string& name) const {
- auto it(_nameMap.find(name));
-
- return (it == _nameMap.end() ? LoadType::DEFAULT : *it->second);
-}
-
-const LoadType*
-LoadTypeSet::findLoadType(const string& name) const {
- auto it(_nameMap.find(name));
- return (it == _nameMap.end() ? 0 : it->second);
-}
-
-}
diff --git a/documentapi/src/vespa/documentapi/loadtypes/loadtypeset.h b/documentapi/src/vespa/documentapi/loadtypes/loadtypeset.h
deleted file mode 100644
index f593935e8b3..00000000000
--- a/documentapi/src/vespa/documentapi/loadtypes/loadtypeset.h
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-/**
- * \class LoadTypeSet
- * \ingroup loadtype
- *
- * \brief Class containing all the various load types that have been configured.
- *
- * The load type set makes configured load types available in an easy way for
- * different parts of Vespa to access it.
- */
-#pragma once
-
-#include "loadtype.h"
-#include <vespa/vespalib/stllike/hash_map.h>
-#include <map>
-
-namespace config {
- class ConfigUri;
-}
-
-namespace vespa {
-namespace config {
-namespace content {
-namespace internal {
- class InternalLoadTypeType;
-}
-}
-}
-}
-
-namespace documentapi {
-
-class LoadTypeSet
-{
- using LoadTypeConfig = const vespa::config::content::internal::InternalLoadTypeType;
- vespalib::hash_map<uint32_t, std::unique_ptr<LoadType>> _types;
- // Want order to be ~ alphabetical.
- std::map<string, LoadType*> _nameMap;
-
- void configure(const LoadTypeConfig& config);
-public:
- typedef std::unique_ptr<LoadTypeSet> UP;
- typedef std::shared_ptr<LoadTypeSet> SP;
-
- LoadTypeSet(const LoadTypeSet&) = delete;
- LoadTypeSet& operator=(const LoadTypeSet&) = delete;
-
- LoadTypeSet();
- LoadTypeSet(const config::ConfigUri & configUri);
- LoadTypeSet(const LoadTypeConfig& config);
- ~LoadTypeSet();
-
- void addLoadType(uint32_t id, const string& name, Priority::Value priority);
-
- const std::map<string, LoadType*>& getLoadTypes() const { return _nameMap; }
- metrics::LoadTypeSet getMetricLoadTypes() const;
-
- const LoadType& operator[](uint32_t id) const;
- const LoadType& operator[](const string& name) const;
- uint32_t size() const { return uint32_t(_types.size()); }
-
- /**
- * Attempts to locate a load type with given name. Returns 0 if none found.
- */
- const LoadType* findLoadType(const string& name) const;
-};
-
-} // documentapi
-
diff --git a/documentapi/src/vespa/documentapi/messagebus/documentprotocol.cpp b/documentapi/src/vespa/documentapi/messagebus/documentprotocol.cpp
index a957ce5e4ff..560f2f28f0e 100644
--- a/documentapi/src/vespa/documentapi/messagebus/documentprotocol.cpp
+++ b/documentapi/src/vespa/documentapi/messagebus/documentprotocol.cpp
@@ -21,11 +21,9 @@ namespace documentapi {
const mbus::string DocumentProtocol::NAME = "document";
-DocumentProtocol::DocumentProtocol(const LoadTypeSet& loadTypes,
- std::shared_ptr<const DocumentTypeRepo> repo,
- const string &configId) :
+DocumentProtocol::DocumentProtocol(std::shared_ptr<const DocumentTypeRepo> repo, const string &configId) :
_routingPolicyRepository(std::make_unique<RoutingPolicyRepository>()),
- _routableRepository(std::make_unique<RoutableRepository>(loadTypes)),
+ _routableRepository(std::make_unique<RoutableRepository>()),
_repo(std::move(repo))
{
// Prepare config string for routing policy factories.
diff --git a/documentapi/src/vespa/documentapi/messagebus/documentprotocol.h b/documentapi/src/vespa/documentapi/messagebus/documentprotocol.h
index eeae4553b3b..f35c6dd0810 100644
--- a/documentapi/src/vespa/documentapi/messagebus/documentprotocol.h
+++ b/documentapi/src/vespa/documentapi/messagebus/documentprotocol.h
@@ -17,7 +17,6 @@ namespace document {
namespace documentapi {
-class LoadTypeSet;
class RoutingPolicyRepository;
class RoutableRepository;
class IRoutingPolicyFactory;
@@ -194,9 +193,7 @@ public:
*
* @param configId The id to use when subscribing to config.
*/
- DocumentProtocol(const LoadTypeSet& loadTypes,
- std::shared_ptr<const document::DocumentTypeRepo> repo,
- const string &configId = "");
+ DocumentProtocol(std::shared_ptr<const document::DocumentTypeRepo> repo, const string &configId = "");
~DocumentProtocol() override;
/**
diff --git a/documentapi/src/vespa/documentapi/messagebus/iroutablefactory.h b/documentapi/src/vespa/documentapi/messagebus/iroutablefactory.h
index 2b492dea240..9a41960b852 100644
--- a/documentapi/src/vespa/documentapi/messagebus/iroutablefactory.h
+++ b/documentapi/src/vespa/documentapi/messagebus/iroutablefactory.h
@@ -8,8 +8,6 @@
namespace documentapi {
-class LoadTypeSet;
-
/**
* This interface defines the necessary methods of a routable factory that can be plugged into a {@link
* DocumentProtocol} using the {@link DocumentProtocol#putRoutableFactory(int, RoutableFactory,
@@ -59,7 +57,7 @@ public:
* @param loadTypes The set of configured load types.
* @return The decoded routable.
*/
- virtual mbus::Routable::UP decode(document::ByteBuffer &in, const LoadTypeSet& loadTypes) const = 0;
+ virtual mbus::Routable::UP decode(document::ByteBuffer &in) const = 0;
};
}
diff --git a/documentapi/src/vespa/documentapi/messagebus/routablefactories60.cpp b/documentapi/src/vespa/documentapi/messagebus/routablefactories60.cpp
index 26e609c79fa..3af4e6ee23d 100644
--- a/documentapi/src/vespa/documentapi/messagebus/routablefactories60.cpp
+++ b/documentapi/src/vespa/documentapi/messagebus/routablefactories60.cpp
@@ -7,7 +7,7 @@
#include <vespa/document/select/parser.h>
#include <vespa/document/update/documentupdate.h>
#include <vespa/documentapi/documentapi.h>
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
+#include <vespa/documentapi/loadtypes/loadtype.h>
#include <vespa/vespalib/objects/nbostream.h>
using document::FixedBucketSpaces;
@@ -27,7 +27,7 @@ RoutableFactories60::DocumentMessageFactory::encode(const mbus::Routable &obj, v
}
mbus::Routable::UP
-RoutableFactories60::DocumentMessageFactory::decode(document::ByteBuffer &in, const LoadTypeSet&) const
+RoutableFactories60::DocumentMessageFactory::decode(document::ByteBuffer &in) const
{
uint8_t pri;
in.getByte(pri);
@@ -50,7 +50,7 @@ RoutableFactories60::DocumentReplyFactory::encode(const mbus::Routable &obj, ves
}
mbus::Routable::UP
-RoutableFactories60::DocumentReplyFactory::decode(document::ByteBuffer &in, const LoadTypeSet&) const
+RoutableFactories60::DocumentReplyFactory::decode(document::ByteBuffer &in) const
{
uint8_t pri;
in.getByte(pri);
diff --git a/documentapi/src/vespa/documentapi/messagebus/routablefactories60.h b/documentapi/src/vespa/documentapi/messagebus/routablefactories60.h
index 579abbda291..7e8156ee071 100644
--- a/documentapi/src/vespa/documentapi/messagebus/routablefactories60.h
+++ b/documentapi/src/vespa/documentapi/messagebus/routablefactories60.h
@@ -87,7 +87,7 @@ public:
public:
bool encode(const mbus::Routable &obj, vespalib::GrowableByteBuffer &out) const override;
- mbus::Routable::UP decode(document::ByteBuffer &in, const LoadTypeSet& loadTypes) const override;
+ mbus::Routable::UP decode(document::ByteBuffer &in) const override;
};
/**
@@ -121,7 +121,7 @@ public:
public:
bool encode(const mbus::Routable &obj, vespalib::GrowableByteBuffer &out) const override;
- mbus::Routable::UP decode(document::ByteBuffer &in, const LoadTypeSet& loadTypes) const override;
+ mbus::Routable::UP decode(document::ByteBuffer &in) const override;
};
////////////////////////////////////////////////////////////////////////////////
diff --git a/documentapi/src/vespa/documentapi/messagebus/routablerepository.cpp b/documentapi/src/vespa/documentapi/messagebus/routablerepository.cpp
index 6ed33cda060..60cdbb3a5e8 100644
--- a/documentapi/src/vespa/documentapi/messagebus/routablerepository.cpp
+++ b/documentapi/src/vespa/documentapi/messagebus/routablerepository.cpp
@@ -1,9 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "routablerepository.h"
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
#include <vespa/document/util/stringutil.h>
-#include <vespa/vespalib/util/exceptions.h>
#include <sstream>
#include <algorithm>
@@ -44,11 +42,10 @@ RoutableRepository::VersionMap::getFactory(const vespalib::Version &version) con
[](auto & lhs, auto & rhs) { return lhs.first.compareTo(rhs.first) <= 0; })->second;
}
-RoutableRepository::RoutableRepository(const LoadTypeSet& loadTypes) :
+RoutableRepository::RoutableRepository() :
_lock(),
_factoryTypes(),
- _cache(),
- _loadTypes(loadTypes)
+ _cache()
{
}
@@ -69,7 +66,7 @@ RoutableRepository::decode(const vespalib::Version &version, mbus::BlobRef data)
type, version.toString().c_str());
return mbus::Routable::UP();
}
- mbus::Routable::UP ret = factory->decode(in, _loadTypes);
+ mbus::Routable::UP ret = factory->decode(in);
if (!ret) {
LOG(error, "Routable factory failed to deserialize routable of type %d (version %s).",
type, version.toString().c_str());
diff --git a/documentapi/src/vespa/documentapi/messagebus/routablerepository.h b/documentapi/src/vespa/documentapi/messagebus/routablerepository.h
index 7e73f3929b8..04240b99bd7 100644
--- a/documentapi/src/vespa/documentapi/messagebus/routablerepository.h
+++ b/documentapi/src/vespa/documentapi/messagebus/routablerepository.h
@@ -9,8 +9,6 @@
namespace documentapi {
-class LoadTypeSet;
-
/**
* This class encapsulates the logic required to map routable type and version to a corresponding {@link
* RoutableFactory}. It is owned and accessed through a {@link DocumentProtocol} instance. This class uses a
@@ -40,7 +38,6 @@ private:
mutable std::mutex _lock;
TypeMap _factoryTypes;
mutable FactoryCache _cache;
- const LoadTypeSet& _loadTypes;
public:
RoutableRepository(const RoutableRepository &) = delete;
@@ -48,7 +45,7 @@ public:
/**
* Constructs a new routable repository.
*/
- explicit RoutableRepository(const LoadTypeSet& loadTypes);
+ explicit RoutableRepository();
/**
* Decodes a {@link Routable} from the given byte array. This uses the content of the byte array to
diff --git a/searchcore/src/apps/vespa-dump-feed/vespa-dump-feed.cpp b/searchcore/src/apps/vespa-dump-feed/vespa-dump-feed.cpp
index f034ccdd6d1..a842caef379 100644
--- a/searchcore/src/apps/vespa-dump-feed/vespa-dump-feed.cpp
+++ b/searchcore/src/apps/vespa-dump-feed/vespa-dump-feed.cpp
@@ -6,7 +6,6 @@
#include <vespa/document/document.h>
#include <vespa/document/repo/documenttyperepo.h>
#include <vespa/documentapi/documentapi.h>
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
#include <vespa/messagebus/destinationsession.h>
#include <vespa/messagebus/protocolset.h>
#include <vespa/messagebus/rpcmessagebus.h>
@@ -47,7 +46,6 @@ public:
class FeedHandler : public mbus::IMessageHandler
{
private:
- documentapi::LoadTypeSet _loadTypes;
mbus::RPCMessageBus _mbus;
mbus::DestinationSession::UP _session;
OutputFile &_idx;
@@ -95,8 +93,7 @@ FeedHandler::handleMessage(mbus::Message::UP message)
}
FeedHandler::FeedHandler(std::shared_ptr<const document::DocumentTypeRepo> repo, OutputFile &idx, OutputFile &dat)
- : _loadTypes(),
- _mbus(mbus::MessageBusParams().addProtocol(mbus::IProtocol::SP(new documentapi::DocumentProtocol(_loadTypes, repo))),
+ : _mbus(mbus::MessageBusParams().addProtocol(std::make_shared<documentapi::DocumentProtocol>(repo)),
mbus::RPCNetworkParams()),
_session(_mbus.getMessageBus()
.createDestinationSession(mbus::DestinationSessionParams()
diff --git a/searchcore/src/apps/vespa-feed-bm/bm_message_bus.cpp b/searchcore/src/apps/vespa-feed-bm/bm_message_bus.cpp
index ec50a4c7c01..b608593dada 100644
--- a/searchcore/src/apps/vespa-feed-bm/bm_message_bus.cpp
+++ b/searchcore/src/apps/vespa-feed-bm/bm_message_bus.cpp
@@ -129,16 +129,15 @@ BmMessageBus::ReplyHandler::message_aborted(uint64_t msg_id)
}
BmMessageBus::BmMessageBus(const config::ConfigUri& config_uri,
- std::shared_ptr<const document::DocumentTypeRepo> document_type_repo,
- const documentapi::LoadTypeSet& load_types)
+ std::shared_ptr<const document::DocumentTypeRepo> document_type_repo)
: _reply_handler(std::make_unique<ReplyHandler>()),
_message_bus(),
_session()
{
mbus::RPCNetworkParams params(config_uri);
mbus::ProtocolSet protocol_set;
- protocol_set.add(std::make_shared<DocumentProtocol>(load_types, document_type_repo));
- protocol_set.add(std::make_shared<StorageProtocol>(document_type_repo, load_types));
+ protocol_set.add(std::make_shared<DocumentProtocol>(document_type_repo));
+ protocol_set.add(std::make_shared<StorageProtocol>(document_type_repo));
params.setIdentity(mbus::Identity("vespa-bm-client"));
_message_bus = std::make_unique<mbus::RPCMessageBus>(
protocol_set,
diff --git a/searchcore/src/apps/vespa-feed-bm/bm_message_bus.h b/searchcore/src/apps/vespa-feed-bm/bm_message_bus.h
index 9ebe394e9e6..a9cff1fb826 100644
--- a/searchcore/src/apps/vespa-feed-bm/bm_message_bus.h
+++ b/searchcore/src/apps/vespa-feed-bm/bm_message_bus.h
@@ -6,7 +6,6 @@
namespace config { class ConfigUri; }
namespace document { class DocumentTypeRepo; }
-namespace documentapi { class LoadTypeSet; }
namespace mbus {
@@ -32,8 +31,7 @@ class BmMessageBus
std::unique_ptr<mbus::SourceSession> _session;
public:
BmMessageBus(const config::ConfigUri& config_uri,
- std::shared_ptr<const document::DocumentTypeRepo> document_type_repo,
- const documentapi::LoadTypeSet& load_types);
+ std::shared_ptr<const document::DocumentTypeRepo> document_type_repo);
~BmMessageBus();
uint32_t get_error_count() const;
void send_msg(std::unique_ptr<mbus::Message> msg, const mbus::Route &route, PendingTracker &tracker);
diff --git a/searchcore/src/apps/vespa-feed-bm/storage_api_rpc_bm_feed_handler.cpp b/searchcore/src/apps/vespa-feed-bm/storage_api_rpc_bm_feed_handler.cpp
index 575cde3fe00..d37b6ee9f41 100644
--- a/searchcore/src/apps/vespa-feed-bm/storage_api_rpc_bm_feed_handler.cpp
+++ b/searchcore/src/apps/vespa-feed-bm/storage_api_rpc_bm_feed_handler.cpp
@@ -6,14 +6,12 @@
#include "storage_reply_error_checker.h"
#include <vespa/document/fieldvalue/document.h>
#include <vespa/document/update/documentupdate.h>
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
#include <vespa/storageapi/messageapi/storagemessage.h>
#include <vespa/storageapi/message/persistence.h>
#include <vespa/storage/storageserver/message_dispatcher.h>
#include <vespa/storage/storageserver/rpc/message_codec_provider.h>
#include <vespa/storage/storageserver/rpc/shared_rpc_resources.h>
#include <vespa/storage/storageserver/rpc/storage_api_rpc_service.h>
-#include <cassert>
using document::Document;
using document::DocumentId;
@@ -75,7 +73,7 @@ StorageApiRpcBmFeedHandler::StorageApiRpcBmFeedHandler(SharedRpcResources& share
_storage_address(std::make_unique<StorageMessageAddress>(&_Storage, distributor ? NodeType::DISTRIBUTOR : NodeType::STORAGE, 0)),
_shared_rpc_resources(shared_rpc_resources_in),
_message_dispatcher(std::make_unique<MyMessageDispatcher>()),
- _message_codec_provider(std::make_unique<storage::rpc::MessageCodecProvider>(repo, std::make_shared<documentapi::LoadTypeSet>())),
+ _message_codec_provider(std::make_unique<storage::rpc::MessageCodecProvider>(repo)),
_rpc_client(std::make_unique<storage::rpc::StorageApiRpcService>(*_message_dispatcher, _shared_rpc_resources, *_message_codec_provider, rpc_params))
{
}
diff --git a/searchcore/src/apps/vespa-feed-bm/vespa_feed_bm.cpp b/searchcore/src/apps/vespa-feed-bm/vespa_feed_bm.cpp
index a55638651d6..5532abcc8ba 100644
--- a/searchcore/src/apps/vespa-feed-bm/vespa_feed_bm.cpp
+++ b/searchcore/src/apps/vespa-feed-bm/vespa_feed_bm.cpp
@@ -15,7 +15,6 @@
#include <vespa/config-bucketspaces.h>
#include <vespa/config-imported-fields.h>
#include <vespa/config-indexschema.h>
-#include <vespa/config-load-type.h>
#include <vespa/config-persistence.h>
#include <vespa/config-rank-profiles.h>
#include <vespa/config-slobroks.h>
@@ -86,7 +85,6 @@ using namespace std::chrono_literals;
using namespace vespa::config::search::core;
using namespace vespa::config::search::summary;
using namespace vespa::config::search;
-using vespa::config::content::LoadTypeConfigBuilder;
using vespa::config::content::PersistenceConfigBuilder;
using vespa::config::content::StorDistributionConfigBuilder;
using vespa::config::content::StorFilestorConfigBuilder;
@@ -444,7 +442,6 @@ struct MyStorageConfig
StorServerConfigBuilder stor_server;
StorStatusConfigBuilder stor_status;
BucketspacesConfigBuilder bucketspaces;
- LoadTypeConfigBuilder load_type;
MetricsmanagerConfigBuilder metricsmanager;
SlobroksConfigBuilder slobroks;
MessagebusConfigBuilder messagebus;
@@ -462,7 +459,6 @@ struct MyStorageConfig
stor_server(),
stor_status(),
bucketspaces(),
- load_type(),
metricsmanager(),
slobroks(),
messagebus()
@@ -516,7 +512,6 @@ struct MyStorageConfig
set.addBuilder(config_id, &stor_server);
set.addBuilder(config_id, &stor_status);
set.addBuilder(config_id, &bucketspaces);
- set.addBuilder(config_id, &load_type);
set.addBuilder(config_id, &metricsmanager);
set.addBuilder(config_id, &slobroks);
set.addBuilder(config_id, &messagebus);
@@ -919,9 +914,7 @@ PersistenceProviderFixture::start_message_bus()
{
config::ConfigUri config_uri("bm-message-bus", _config_context);
LOG(info, "Starting message bus");
- _message_bus = std::make_unique<BmMessageBus>(config_uri,
- _repo,
- documentapi::LoadTypeSet());
+ _message_bus = std::make_unique<BmMessageBus>(config_uri, _repo);
LOG(info, "Started message bus");
}
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
diff --git a/storageapi/src/tests/mbusprot/storageprotocoltest.cpp b/storageapi/src/tests/mbusprot/storageprotocoltest.cpp
index e807ab673d5..5637110f341 100644
--- a/storageapi/src/tests/mbusprot/storageprotocoltest.cpp
+++ b/storageapi/src/tests/mbusprot/storageprotocoltest.cpp
@@ -56,7 +56,6 @@ struct StorageProtocolTest : TestWithParam<vespalib::Version> {
document::Bucket _bucket;
document::BucketId _dummy_remap_bucket{17, 12345};
BucketInfo _dummy_bucket_info{1,2,3,4,5, true, false, 48};
- documentapi::LoadTypeSet _loadTypes;
mbusprot::StorageProtocol _protocol;
static auto constexpr CONDITION_STRING = "There's just one condition";
@@ -66,9 +65,8 @@ struct StorageProtocolTest : TestWithParam<vespalib::Version> {
_testDocId(_testDoc->getId()),
_bucket_id(16, 0x51),
_bucket(makeDocumentBucket(_bucket_id)),
- _protocol(_docMan.getTypeRepoSP(), _loadTypes)
+ _protocol(_docMan.getTypeRepoSP())
{
- _loadTypes.addLoadType(34, "foo", documentapi::Priority::PRI_NORMAL_2);
}
~StorageProtocolTest();
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp
index 2c7b4a1e6f8..1bb83b2a547 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp
@@ -7,6 +7,7 @@
#include <vespa/storageapi/message/bucketsplitting.h>
#include <vespa/storageapi/message/visitor.h>
#include <vespa/document/update/documentupdate.h>
+#include <vespa/documentapi/loadtypes/loadtype.h>
#include <vespa/document/bucket/fixed_bucket_spaces.h>
#include <sstream>
@@ -92,7 +93,7 @@ ProtocolSerialization5_0::onEncodeCommand(GBBuf& buf, const api::StorageCommand&
buf.putLong(msg.getMsgId());
buf.putByte(msg.getPriority());
buf.putShort(msg.getSourceIndex());
- buf.putInt(msg.getLoadType().getId());
+ buf.putInt(documentapi::LoadType::DEFAULT.getId());
}
void
@@ -106,11 +107,8 @@ ProtocolSerialization5_0::onDecodeCommand(BBuf& buf, api::StorageCommand& msg) c
}
-ProtocolSerialization5_0::ProtocolSerialization5_0(
- const std::shared_ptr<const document::DocumentTypeRepo>& repo,
- const documentapi::LoadTypeSet& loadTypes)
- : ProtocolSerialization4_2(repo),
- _loadTypes(loadTypes)
+ProtocolSerialization5_0::ProtocolSerialization5_0(const std::shared_ptr<const document::DocumentTypeRepo>& repo)
+ : ProtocolSerialization4_2(repo)
{
}
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h
index 67f02aa2d2a..8d38db89a08 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h
@@ -2,17 +2,12 @@
#pragma once
#include "protocolserialization4_2.h"
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
namespace storage::mbusprot {
class ProtocolSerialization5_0 : public ProtocolSerialization4_2 {
-private:
- const documentapi::LoadTypeSet& _loadTypes;
-
public:
- ProtocolSerialization5_0(const std::shared_ptr<const document::DocumentTypeRepo>&,
- const documentapi::LoadTypeSet& loadTypes);
+ ProtocolSerialization5_0(const std::shared_ptr<const document::DocumentTypeRepo>&);
document::Bucket getBucket(document::ByteBuffer& buf) const override;
void putBucket(const document::Bucket& bucket, vespalib::GrowableByteBuffer& buf) const override;
@@ -73,9 +68,6 @@ public:
SRep::UP onDecodeCreateVisitorReply(const SCmd& cmd, BBuf& buf) const override;
void onDecodeCommand(BBuf& buf, api::StorageCommand& msg) const override;
void onDecodeReply(BBuf&, api::StorageReply&) const override;
-
-protected:
- const documentapi::LoadTypeSet& loadTypes() const noexcept { return _loadTypes; };
};
}
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp
index 0b1f66127ba..b289c1661a0 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp
@@ -44,9 +44,8 @@ ProtocolSerialization5_1::putBucketInfo(
}
ProtocolSerialization5_1::ProtocolSerialization5_1(
- const std::shared_ptr<const document::DocumentTypeRepo>& repo,
- const documentapi::LoadTypeSet& loadTypes)
- : ProtocolSerialization5_0(repo, loadTypes)
+ const std::shared_ptr<const document::DocumentTypeRepo>& repo)
+ : ProtocolSerialization5_0(repo)
{
}
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.h b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.h
index 5df0d757ce2..b46257a2182 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.h
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.h
@@ -3,8 +3,7 @@
#include "protocolserialization5_0.h"
-namespace storage {
-namespace mbusprot {
+namespace storage::mbusprot {
class ProtocolSerialization5_1 : public ProtocolSerialization5_0
{
@@ -13,8 +12,7 @@ class ProtocolSerialization5_1 : public ProtocolSerialization5_0
BUCKET_ACTIVE = 0x2,
};
public:
- ProtocolSerialization5_1(const std::shared_ptr<const document::DocumentTypeRepo>&,
- const documentapi::LoadTypeSet& loadTypes);
+ ProtocolSerialization5_1(const std::shared_ptr<const document::DocumentTypeRepo>&);
api::BucketInfo getBucketInfo(document::ByteBuffer& buf) const override;
void putBucketInfo(const api::BucketInfo& info, vespalib::GrowableByteBuffer& buf) const override;
@@ -33,5 +31,4 @@ protected:
SCmd::UP onDecodeCreateBucketCommand(BBuf&) const override;
};
-} // mbusprot
-} // storage
+}
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_2.h b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_2.h
index f6f9443248c..50200edcbcf 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_2.h
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_2.h
@@ -12,9 +12,8 @@ namespace storage::mbusprot {
class ProtocolSerialization5_2 : public ProtocolSerialization5_1
{
public:
- ProtocolSerialization5_2(const std::shared_ptr<const document::DocumentTypeRepo>& repo,
- const documentapi::LoadTypeSet & loadTypes)
- : ProtocolSerialization5_1(repo, loadTypes)
+ ProtocolSerialization5_2(const std::shared_ptr<const document::DocumentTypeRepo>& repo)
+ : ProtocolSerialization5_1(repo)
{}
protected:
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization6_0.cpp b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization6_0.cpp
index 930879082ed..cd66928877c 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization6_0.cpp
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization6_0.cpp
@@ -3,12 +3,10 @@
#include "protocolserialization6_0.h"
#include "serializationhelper.h"
-namespace storage {
-namespace mbusprot {
+namespace storage::mbusprot {
-ProtocolSerialization6_0::ProtocolSerialization6_0(const std::shared_ptr<const document::DocumentTypeRepo> &repo,
- const documentapi::LoadTypeSet &loadTypes)
- : ProtocolSerialization5_2(repo, loadTypes)
+ProtocolSerialization6_0::ProtocolSerialization6_0(const std::shared_ptr<const document::DocumentTypeRepo> &repo)
+ : ProtocolSerialization5_2(repo)
{
}
@@ -40,4 +38,3 @@ ProtocolSerialization6_0::putBucketSpace(document::BucketSpace bucketSpace, vesp
}
}
-}
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization6_0.h b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization6_0.h
index 5c4e6b2ec63..efce45ce844 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization6_0.h
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization6_0.h
@@ -3,10 +3,8 @@
#pragma once
#include "protocolserialization5_2.h"
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
-namespace storage {
-namespace mbusprot {
+namespace storage::mbusprot {
/**
* Protocol serialization version adding decoding and encoding
@@ -15,8 +13,7 @@ namespace mbusprot {
class ProtocolSerialization6_0 : public ProtocolSerialization5_2
{
public:
- ProtocolSerialization6_0(const std::shared_ptr<const document::DocumentTypeRepo> &repo,
- const documentapi::LoadTypeSet &loadTypes);
+ ProtocolSerialization6_0(const std::shared_ptr<const document::DocumentTypeRepo> &repo);
document::Bucket getBucket(document::ByteBuffer &buf) const override;
void putBucket(const document::Bucket &bucket, vespalib::GrowableByteBuffer &buf) const override;
@@ -25,4 +22,3 @@ public:
};
}
-}
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization7.cpp b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization7.cpp
index b356ce59999..00572ff0eba 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization7.cpp
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization7.cpp
@@ -11,14 +11,13 @@
#include <vespa/storageapi/message/removelocation.h>
#include <vespa/storageapi/message/visitor.h>
#include <vespa/storageapi/message/stat.h>
+#include <vespa/documentapi/loadtypes/loadtype.h>
namespace storage::mbusprot {
-ProtocolSerialization7::ProtocolSerialization7(std::shared_ptr<const document::DocumentTypeRepo> repo,
- const documentapi::LoadTypeSet& load_types)
+ProtocolSerialization7::ProtocolSerialization7(std::shared_ptr<const document::DocumentTypeRepo> repo)
: ProtocolSerialization(),
- _repo(std::move(repo)),
- _load_types(load_types)
+ _repo(std::move(repo))
{
}
@@ -113,7 +112,7 @@ void write_request_header(vespalib::GrowableByteBuffer& buf, const api::StorageC
hdr.set_message_id(cmd.getMsgId());
hdr.set_priority(cmd.getPriority());
hdr.set_source_index(cmd.getSourceIndex());
- hdr.set_loadtype_id(cmd.getLoadType().getId());
+ hdr.set_loadtype_id(documentapi::LoadType::DEFAULT.getId());
uint8_t dest[128]; // Only primitive fields, should be plenty large enough.
auto encoded_size = static_cast<uint32_t>(hdr.ByteSizeLong());
@@ -232,12 +231,10 @@ class RequestDecoder {
protobuf::RequestHeader _hdr;
::google::protobuf::Arena _arena;
ProtobufType* _proto_obj;
- const documentapi::LoadTypeSet& _load_types;
public:
- RequestDecoder(document::ByteBuffer& in_buf, const documentapi::LoadTypeSet& load_types)
+ RequestDecoder(document::ByteBuffer& in_buf)
: _arena(),
- _proto_obj(::google::protobuf::Arena::Create<ProtobufType>(&_arena)),
- _load_types(load_types)
+ _proto_obj(::google::protobuf::Arena::Create<ProtobufType>(&_arena))
{
decode_request_header(in_buf, _hdr);
assert(in_buf.getRemaining() <= INT_MAX);
@@ -308,7 +305,7 @@ void encode_response(vespalib::GrowableByteBuffer& out_buf, const api::StorageRe
template <typename ProtobufType, typename Func>
std::unique_ptr<api::StorageCommand>
ProtocolSerialization7::decode_request(document::ByteBuffer& in_buf, Func&& f) const {
- RequestDecoder<ProtobufType> dec(in_buf, _load_types);
+ RequestDecoder<ProtobufType> dec(in_buf);
const auto& req = dec.request();
auto cmd = f(req);
dec.transfer_meta_information_to(*cmd);
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization7.h b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization7.h
index e1d08691bc1..e7a97c6e3d5 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization7.h
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization7.h
@@ -3,7 +3,6 @@
#pragma once
#include "protocolserialization.h"
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
namespace storage::mbusprot {
@@ -13,13 +12,10 @@ namespace storage::mbusprot {
*/
class ProtocolSerialization7 final : public ProtocolSerialization {
const std::shared_ptr<const document::DocumentTypeRepo> _repo;
- const documentapi::LoadTypeSet& _load_types;
public:
- ProtocolSerialization7(std::shared_ptr<const document::DocumentTypeRepo> repo,
- const documentapi::LoadTypeSet& load_types);
+ ProtocolSerialization7(std::shared_ptr<const document::DocumentTypeRepo> repo);
const document::DocumentTypeRepo& type_repo() const noexcept { return *_repo; }
- const documentapi::LoadTypeSet& load_type_set() const noexcept { return _load_types; }
// Put
void onEncode(GBBuf&, const api::PutCommand&) const override;
diff --git a/storageapi/src/vespa/storageapi/mbusprot/storageprotocol.cpp b/storageapi/src/vespa/storageapi/mbusprot/storageprotocol.cpp
index b5107e68454..f6e68b3dd04 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/storageprotocol.cpp
+++ b/storageapi/src/vespa/storageapi/mbusprot/storageprotocol.cpp
@@ -15,13 +15,12 @@ namespace storage::mbusprot {
mbus::string StorageProtocol::NAME = "StorageProtocol";
-StorageProtocol::StorageProtocol(const std::shared_ptr<const document::DocumentTypeRepo> repo,
- const documentapi::LoadTypeSet& loadTypes)
- : _serializer5_0(repo, loadTypes),
- _serializer5_1(repo, loadTypes),
- _serializer5_2(repo, loadTypes),
- _serializer6_0(repo, loadTypes),
- _serializer7_0(repo, loadTypes)
+StorageProtocol::StorageProtocol(const std::shared_ptr<const document::DocumentTypeRepo> repo)
+ : _serializer5_0(repo),
+ _serializer5_1(repo),
+ _serializer5_2(repo),
+ _serializer6_0(repo),
+ _serializer7_0(repo)
{
}
diff --git a/storageapi/src/vespa/storageapi/mbusprot/storageprotocol.h b/storageapi/src/vespa/storageapi/mbusprot/storageprotocol.h
index 40f2d26d833..748fee93a86 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/storageprotocol.h
+++ b/storageapi/src/vespa/storageapi/mbusprot/storageprotocol.h
@@ -15,8 +15,7 @@ public:
static mbus::string NAME;
- StorageProtocol(const std::shared_ptr<const document::DocumentTypeRepo>,
- const documentapi::LoadTypeSet& loadTypes);
+ StorageProtocol(const std::shared_ptr<const document::DocumentTypeRepo>);
~StorageProtocol() override;
const mbus::string& getName() const override { return NAME; }
@@ -29,7 +28,7 @@ private:
ProtocolSerialization5_1 _serializer5_1;
ProtocolSerialization5_2 _serializer5_2;
ProtocolSerialization6_0 _serializer6_0;
- ProtocolSerialization7 _serializer7_0;
+ ProtocolSerialization7 _serializer7_0;
};
}
diff --git a/vespaclient/src/vespa/vespaclient/vesparoute/application.cpp b/vespaclient/src/vespa/vespaclient/vesparoute/application.cpp
index ae64db4d452..468c6b859ed 100644
--- a/vespaclient/src/vespa/vespaclient/vesparoute/application.cpp
+++ b/vespaclient/src/vespa/vespaclient/vesparoute/application.cpp
@@ -25,7 +25,6 @@ using document::DocumentTypeRepo;
namespace vesparoute {
Application::Application() :
- _loadTypes(),
_net(),
_mbus(),
_params()
@@ -54,7 +53,7 @@ Application::Main()
*_net,
mbus::MessageBusParams()
.setRetryPolicy(mbus::IRetryPolicy::SP())
- .addProtocol(std::make_shared<documentapi::DocumentProtocol>(_loadTypes, repo)));
+ .addProtocol(std::make_shared<documentapi::DocumentProtocol>(repo)));
mbus::ConfigAgent cfg(*_mbus);
cfg.configure(ConfigGetter<MessagebusConfig>::getConfig(_params.getRoutingConfigId()));
diff --git a/vespaclient/src/vespa/vespaclient/vesparoute/application.h b/vespaclient/src/vespa/vespaclient/vesparoute/application.h
index 697319befcc..89f025472f5 100644
--- a/vespaclient/src/vespa/vespaclient/vesparoute/application.h
+++ b/vespaclient/src/vespa/vespaclient/vesparoute/application.h
@@ -6,7 +6,6 @@
#include <vespa/messagebus/routing/hopblueprint.h>
#include "mynetwork.h"
#include "params.h"
-#include <vespa/documentapi/loadtypes/loadtypeset.h>
namespace vesparoute {
@@ -15,7 +14,6 @@ namespace vesparoute {
*/
class Application : public FastOS_Application {
private:
- documentapi::LoadTypeSet _loadTypes;
std::unique_ptr<MyNetwork> _net;
std::unique_ptr<mbus::MessageBus> _mbus;
Params _params;