diff options
author | Arne H Juul <arnej27959@users.noreply.github.com> | 2021-10-14 08:22:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-14 08:22:47 +0200 |
commit | adad7cc066e7debe8137737a8ce9c6ce377a2c1a (patch) | |
tree | 5850be932489b07b2c1333472da4a4fcbe9fbae6 /searchlib | |
parent | 139deef553e455442482fdbf545c9db751617f33 (diff) | |
parent | 3534365cd5acc7c9e427bee0876587c43d5c2ac5 (diff) |
Merge pull request #19534 from vespa-engine/arnej/only-slime-docsums
Arnej/only slime docsums
Diffstat (limited to 'searchlib')
7 files changed, 18 insertions, 42 deletions
diff --git a/searchlib/src/tests/engine/proto_converter/proto_converter_test.cpp b/searchlib/src/tests/engine/proto_converter/proto_converter_test.cpp index 5efe3f9fe8c..973d2bcc15c 100644 --- a/searchlib/src/tests/engine/proto_converter/proto_converter_test.cpp +++ b/searchlib/src/tests/engine/proto_converter/proto_converter_test.cpp @@ -321,14 +321,10 @@ TEST_F(SearchReplyTest, require_that_issues_are_converted_to_errors) { struct DocsumRequestTest : ::testing::Test { Converter::ProtoDocsumRequest proto; DocsumRequest request; - DocsumRequestTest() : proto(), request(true) {} // <- use root slime + DocsumRequestTest() : proto(), request() {} void convert() { Converter::docsum_request_from_proto(proto, request); } }; -TEST_F(DocsumRequestTest, require_that_root_slime_is_used) { - EXPECT_TRUE(request.useRootSlime()); -} - TEST_F(DocsumRequestTest, require_that_timeout_is_converted) { proto.set_timeout(500); convert(); diff --git a/searchlib/src/tests/engine/proto_rpc_adapter/proto_rpc_adapter_test.cpp b/searchlib/src/tests/engine/proto_rpc_adapter/proto_rpc_adapter_test.cpp index 304e33900a6..41f471f0a7a 100644 --- a/searchlib/src/tests/engine/proto_rpc_adapter/proto_rpc_adapter_test.cpp +++ b/searchlib/src/tests/engine/proto_rpc_adapter/proto_rpc_adapter_test.cpp @@ -52,7 +52,7 @@ struct MyDocsumServer : DocsumServer { auto reply = std::make_unique<DocsumReply>(); reply->_root = std::make_unique<Slime>(); auto &list = reply->_root->setArray(); - list.addObject().setBool("use_root_slime", req->useRootSlime()); + list.addObject().setBool("use_root_slime", true); list.addObject().setString("ranking", req->ranking); reply->request = std::move(req); std::this_thread::sleep_for(std::chrono::milliseconds(5)); diff --git a/searchlib/src/vespa/searchlib/engine/docsumreply.cpp b/searchlib/src/vespa/searchlib/engine/docsumreply.cpp index 24e21350088..d546e087bbf 100644 --- a/searchlib/src/vespa/searchlib/engine/docsumreply.cpp +++ b/searchlib/src/vespa/searchlib/engine/docsumreply.cpp @@ -2,17 +2,22 @@ #include "docsumreply.h" #include <vespa/vespalib/data/slime/slime.h> +#include <cassert> namespace search::engine { DocsumReply::DocsumReply() : DocsumReply(vespalib::Slime::UP(nullptr)) { } DocsumReply::DocsumReply(vespalib::Slime::UP root) - : docsums(), - _root(std::move(root)) + : _root(std::move(root)) { } DocsumReply::~DocsumReply() { } +vespalib::slime::Inspector & DocsumReply::root() const { + assert(_root); + return _root->get(); +} + } diff --git a/searchlib/src/vespa/searchlib/engine/docsumreply.h b/searchlib/src/vespa/searchlib/engine/docsumreply.h index 42eec32dba6..10acd94a32a 100644 --- a/searchlib/src/vespa/searchlib/engine/docsumreply.h +++ b/searchlib/src/vespa/searchlib/engine/docsumreply.h @@ -10,35 +10,19 @@ #include <vespa/searchlib/engine/docsumrequest.h> namespace vespalib { class Slime; } +namespace vespalib::slime { struct Inspector; } namespace search::engine { struct DocsumReply { using UP = std::unique_ptr<DocsumReply>; - using Blob = vespalib::MallocPtr; - - struct Docsum { - document::GlobalId gid; - Blob data; - - Docsum() noexcept : gid(), data(0) {} - Docsum(document::GlobalId gid_) noexcept : gid(gid_), data(0) { } - Docsum(document::GlobalId gid_, const char *buf, uint32_t len) noexcept : gid(gid_), data(len) { - memcpy(data.str(), buf, len); - } - Docsum & setData(const char *buf, uint32_t len) { - data.resize(len); - memcpy(data.str(), buf, len); - return *this; - } - }; - std::vector<Docsum> docsums; - mutable DocsumRequest::UP request; std::unique_ptr<vespalib::Slime> _root; UniqueIssues::UP my_issues; + vespalib::slime::Inspector & root() const; + DocsumReply(); DocsumReply(std::unique_ptr<vespalib::Slime> root); ~DocsumReply(); diff --git a/searchlib/src/vespa/searchlib/engine/docsumrequest.cpp b/searchlib/src/vespa/searchlib/engine/docsumrequest.cpp index 7119542129c..8b3325fbdd5 100644 --- a/searchlib/src/vespa/searchlib/engine/docsumrequest.cpp +++ b/searchlib/src/vespa/searchlib/engine/docsumrequest.cpp @@ -5,17 +5,13 @@ namespace search::engine { DocsumRequest::DocsumRequest() - : DocsumRequest(false) -{} - -DocsumRequest::DocsumRequest(bool useRootSlime_) - : DocsumRequest(RelativeTime(std::make_unique<SteadyClock>()), useRootSlime_) -{} + : DocsumRequest(RelativeTime(std::make_unique<SteadyClock>())) +{ +} -DocsumRequest::DocsumRequest(RelativeTime relativeTime, bool useRootSlime_) +DocsumRequest::DocsumRequest(RelativeTime relativeTime) : Request(std::move(relativeTime)), resultClassName(), - _useRootSlime(useRootSlime_), hits() { } diff --git a/searchlib/src/vespa/searchlib/engine/docsumrequest.h b/searchlib/src/vespa/searchlib/engine/docsumrequest.h index 64ea1100532..27fb5b25a96 100644 --- a/searchlib/src/vespa/searchlib/engine/docsumrequest.h +++ b/searchlib/src/vespa/searchlib/engine/docsumrequest.h @@ -28,18 +28,13 @@ public: public: vespalib::string resultClassName; -private: - const bool _useRootSlime; public: std::vector<Hit> hits; std::vector<char> sessionId; DocsumRequest(); - explicit DocsumRequest(bool useRootSlime_); - DocsumRequest(RelativeTime relativeTime, bool useRootSlime_); + DocsumRequest(RelativeTime relativeTime); ~DocsumRequest() override; - - bool useRootSlime() const { return _useRootSlime; } }; } diff --git a/searchlib/src/vespa/searchlib/engine/proto_rpc_adapter.cpp b/searchlib/src/vespa/searchlib/engine/proto_rpc_adapter.cpp index b1bc8ec37b4..5a3bfe42515 100644 --- a/searchlib/src/vespa/searchlib/engine/proto_rpc_adapter.cpp +++ b/searchlib/src/vespa/searchlib/engine/proto_rpc_adapter.cpp @@ -138,7 +138,7 @@ struct DocsumRequestDecoder : DocsumRequest::Source::Decoder { return std::unique_ptr<DocsumRequest>(nullptr); } stats.requested_documents = msg.global_ids_size(); - auto req = std::make_unique<DocsumRequest>(std::move(relative_time), true); + auto req = std::make_unique<DocsumRequest>(std::move(relative_time)); ProtoConverter::docsum_request_from_proto(msg, *req); return req; } |