diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-11-27 00:21:44 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-11-27 11:56:09 +0000 |
commit | 39d00826c3e7e30d59e6ca6d88eb3f36fb8358fd (patch) | |
tree | a7c3158fd574ec67ab32e66d7cd3ab58ebbdb2cc /storageapi/src | |
parent | 989b8b5afa58dcbfa03e3999d75802ac6c70aa94 (diff) |
GC LoadTypeSet
Diffstat (limited to 'storageapi/src')
12 files changed, 34 insertions, 67 deletions
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; }; } |