summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorArne H Juul <arnej27959@users.noreply.github.com>2021-10-14 08:22:47 +0200
committerGitHub <noreply@github.com>2021-10-14 08:22:47 +0200
commitadad7cc066e7debe8137737a8ce9c6ce377a2c1a (patch)
tree5850be932489b07b2c1333472da4a4fcbe9fbae6 /searchlib
parent139deef553e455442482fdbf545c9db751617f33 (diff)
parent3534365cd5acc7c9e427bee0876587c43d5c2ac5 (diff)
Merge pull request #19534 from vespa-engine/arnej/only-slime-docsums
Arnej/only slime docsums
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/tests/engine/proto_converter/proto_converter_test.cpp6
-rw-r--r--searchlib/src/tests/engine/proto_rpc_adapter/proto_rpc_adapter_test.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/engine/docsumreply.cpp9
-rw-r--r--searchlib/src/vespa/searchlib/engine/docsumreply.h22
-rw-r--r--searchlib/src/vespa/searchlib/engine/docsumrequest.cpp12
-rw-r--r--searchlib/src/vespa/searchlib/engine/docsumrequest.h7
-rw-r--r--searchlib/src/vespa/searchlib/engine/proto_rpc_adapter.cpp2
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;
}