diff options
author | Jon Bratseth <bratseth@oath.com> | 2020-08-05 09:09:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-05 09:09:29 +0200 |
commit | 78d1d7c83099639947edb423c67df4961a2cf5e4 (patch) | |
tree | 52b17fad75ba741518f59f01f0a3ab1372a8774b /documentapi | |
parent | 2e82ff0ff2e24811d96c42126d81526da7ea3779 (diff) | |
parent | 2e225436140011754c7d467d5174624d4e451552 (diff) |
Merge pull request #13985 from vespa-engine/balder/minor-fieldset-cleanup
Balder/minor fieldset cleanup
Diffstat (limited to 'documentapi')
13 files changed, 40 insertions, 54 deletions
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/VisitorParameters.java b/documentapi/src/main/java/com/yahoo/documentapi/VisitorParameters.java index 5b511a1dea8..6a059699b2b 100644 --- a/documentapi/src/main/java/com/yahoo/documentapi/VisitorParameters.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/VisitorParameters.java @@ -3,6 +3,7 @@ package com.yahoo.documentapi; import com.yahoo.document.BucketId; import com.yahoo.document.FixedBucketSpaces; +import com.yahoo.document.fieldset.AllFields; import com.yahoo.documentapi.messagebus.loadtypes.LoadType; import com.yahoo.documentapi.messagebus.protocol.DocumentProtocol; import com.yahoo.messagebus.ThrottlePolicy; @@ -29,7 +30,7 @@ public class VisitorParameters extends Parameters { private long fromTimestamp = 0; private long toTimestamp = 0; boolean visitRemoves = false; - private String fieldSet = "[all]"; + private String fieldSet = AllFields.NAME; boolean visitInconsistentBuckets = false; private ProgressToken resumeToken = null; private String resumeFileName = ""; diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusAsyncSession.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusAsyncSession.java index 493871d45c0..ab39e4c30ff 100644 --- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusAsyncSession.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusAsyncSession.java @@ -5,6 +5,7 @@ import com.yahoo.document.Document; import com.yahoo.document.DocumentId; import com.yahoo.document.DocumentPut; import com.yahoo.document.DocumentUpdate; +import com.yahoo.document.fieldset.AllFields; import com.yahoo.documentapi.AsyncParameters; import com.yahoo.documentapi.AsyncSession; import com.yahoo.documentapi.DocumentIdResponse; @@ -114,7 +115,7 @@ public class MessageBusAsyncSession implements MessageBusSession, AsyncSession { @Override public Result get(DocumentId id, DocumentProtocol.Priority pri) { - GetDocumentMessage msg = new GetDocumentMessage(id, "[all]"); + GetDocumentMessage msg = new GetDocumentMessage(id, AllFields.NAME); msg.setPriority(pri); return send(msg); } diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusSyncSession.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusSyncSession.java index 9a16cef2f84..a9621950b88 100755 --- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusSyncSession.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusSyncSession.java @@ -6,6 +6,7 @@ import com.yahoo.document.DocumentId; import com.yahoo.document.DocumentPut; import com.yahoo.document.DocumentRemove; import com.yahoo.document.DocumentUpdate; +import com.yahoo.document.fieldset.AllFields; import com.yahoo.documentapi.AsyncParameters; import com.yahoo.documentapi.DocumentAccessException; import com.yahoo.documentapi.Response; @@ -135,7 +136,7 @@ public class MessageBusSyncSession implements MessageBusSession, SyncSession, Re @Override public Document get(DocumentId id, Duration timeout) { - return get(id, "[all]", DocumentProtocol.Priority.NORMAL_1, timeout); + return get(id, AllFields.NAME, DocumentProtocol.Priority.NORMAL_1, timeout); } @Override diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/CreateVisitorMessage.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/CreateVisitorMessage.java index c4e17141237..990585f39e1 100644 --- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/CreateVisitorMessage.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/CreateVisitorMessage.java @@ -3,6 +3,7 @@ package com.yahoo.documentapi.messagebus.protocol; import com.yahoo.document.BucketId; import com.yahoo.document.FixedBucketSpaces; +import com.yahoo.document.fieldset.AllFields; import java.util.ArrayList; import java.util.Iterator; @@ -23,7 +24,7 @@ public class CreateVisitorMessage extends DocumentMessage { private long fromTime = 0; private long toTime = 0; private boolean visitRemoves = false; - private String fieldSet = "[all]"; + private String fieldSet = AllFields.NAME; private boolean visitInconsistentBuckets = false; private Map<String, byte[]> params = new TreeMap<>(); private int maxBucketsPerVisitor = 1; diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/GetDocumentMessage.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/GetDocumentMessage.java index cd115cfbf0e..f65550bbf0f 100755 --- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/GetDocumentMessage.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/GetDocumentMessage.java @@ -2,6 +2,7 @@ package com.yahoo.documentapi.messagebus.protocol; import com.yahoo.document.DocumentId; +import com.yahoo.document.fieldset.AllFields; import java.util.Arrays; @@ -10,7 +11,7 @@ import java.util.Arrays; */ public class GetDocumentMessage extends DocumentMessage { - final static String DEFAULT_FIELD_SET = "[all]"; + final static String DEFAULT_FIELD_SET = AllFields.NAME; private DocumentId documentId = null; private String fieldSet = DEFAULT_FIELD_SET; diff --git a/documentapi/src/test/java/com/yahoo/documentapi/VisitorParametersTestCase.java b/documentapi/src/test/java/com/yahoo/documentapi/VisitorParametersTestCase.java index 61e0c9ba8b3..5941c2ac0e2 100644 --- a/documentapi/src/test/java/com/yahoo/documentapi/VisitorParametersTestCase.java +++ b/documentapi/src/test/java/com/yahoo/documentapi/VisitorParametersTestCase.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.documentapi; +import com.yahoo.document.fieldset.AllFields; import com.yahoo.documentapi.messagebus.loadtypes.LoadType; import com.yahoo.documentapi.messagebus.protocol.DocumentProtocol; import org.junit.Test; @@ -23,7 +24,7 @@ public class VisitorParametersTestCase { params.setRoute("extraterrestrial/highway"); params.setTimeoutMs(1337); params.setMaxPending(111); - params.setFieldSet("[header]"); + params.setFieldSet(AllFields.NAME); params.setLoadType(loadType); params.setVisitRemoves(true); params.setVisitInconsistentBuckets(true); @@ -59,7 +60,7 @@ public class VisitorParametersTestCase { assertEquals("extraterrestrial/highway", copy.getRoute().toString()); assertEquals(1337, copy.getTimeoutMs()); assertEquals(111, copy.getMaxPending()); - assertEquals("[header]", copy.getFieldSet()); + assertEquals(AllFields.NAME, copy.getFieldSet()); assertEquals(loadType, copy.getLoadType()); assertEquals(true, copy.getVisitRemoves()); assertEquals(true, copy.getVisitInconsistentBuckets()); @@ -98,7 +99,7 @@ public class VisitorParametersTestCase { " Visitor library parameters:\n" + " groovy : dudes\n" + " ninja : turtles\n" + - " Field set: [header]\n" + + " Field set: [all]\n" + " Route: extraterrestrial/highway\n" + " Weight: 1.0\n" + " Max firstpass hits: 555\n" + diff --git a/documentapi/src/test/java/com/yahoo/documentapi/local/LocalDocumentApiTestCase.java b/documentapi/src/test/java/com/yahoo/documentapi/local/LocalDocumentApiTestCase.java index d1361e50973..69dc7c6da74 100644 --- a/documentapi/src/test/java/com/yahoo/documentapi/local/LocalDocumentApiTestCase.java +++ b/documentapi/src/test/java/com/yahoo/documentapi/local/LocalDocumentApiTestCase.java @@ -8,6 +8,7 @@ import com.yahoo.document.DocumentRemove; import com.yahoo.document.DocumentType; import com.yahoo.document.DocumentUpdate; import com.yahoo.document.datatypes.StringFieldValue; +import com.yahoo.document.fieldset.DocIdOnly; import com.yahoo.document.select.parser.ParseException; import com.yahoo.document.update.FieldUpdate; import com.yahoo.documentapi.AsyncParameters; @@ -183,7 +184,7 @@ public class LocalDocumentApiTestCase extends AbstractDocumentApiTestCase { ((StringFieldValue) doc3.getFieldValue("artist")).getString()); // Visit the documents again, retrieving none of the document fields - parameters.setFieldSet("[id]"); + parameters.setFieldSet(DocIdOnly.NAME); received.clear(); access.createVisitorSession(parameters).waitUntilDone(0); assertSame(VisitorControlHandler.CompletionCode.SUCCESS, diff --git a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/PolicyTestCase.java b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/PolicyTestCase.java index fb9cec88836..c054ec860ca 100755 --- a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/PolicyTestCase.java +++ b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/PolicyTestCase.java @@ -7,6 +7,7 @@ import com.yahoo.document.DocumentPut; import com.yahoo.document.DocumentTypeManager; import com.yahoo.document.DocumentTypeManagerConfigurer; import com.yahoo.document.DocumentUpdate; +import com.yahoo.document.fieldset.AllFields; import com.yahoo.documentapi.messagebus.protocol.ANDPolicy; import com.yahoo.documentapi.messagebus.protocol.DocumentProtocol; import com.yahoo.documentapi.messagebus.protocol.DocumentRouteSelectorPolicy; @@ -368,7 +369,7 @@ public class PolicyTestCase { PolicyTestFrame frame = new PolicyTestFrame(manager); frame.setHop(new HopSpec("test", getDocumentRouteSelectorRawConfig()) .addRecipient("foo").addRecipient("bar")); - frame.setMessage(new GetDocumentMessage(new DocumentId("id:ns:testdoc::yarn"), "[all]")); + frame.setMessage(new GetDocumentMessage(new DocumentId("id:ns:testdoc::yarn"), AllFields.NAME)); List<RoutingNode> selected = frame.select(2); for (int i = 0, len = selected.size(); i < len; ++i) { Document doc = null; diff --git a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/test/MessageBusVisitorSessionTestCase.java b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/test/MessageBusVisitorSessionTestCase.java index 9d0011ef05d..35e0c21f93f 100755 --- a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/test/MessageBusVisitorSessionTestCase.java +++ b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/test/MessageBusVisitorSessionTestCase.java @@ -3,6 +3,8 @@ package com.yahoo.documentapi.messagebus.test; import com.yahoo.document.BucketId; import com.yahoo.document.DocumentId; +import com.yahoo.document.fieldset.AllFields; +import com.yahoo.document.fieldset.DocIdOnly; import com.yahoo.document.select.parser.ParseException; import com.yahoo.documentapi.*; import com.yahoo.documentapi.messagebus.MessageBusVisitorSession; @@ -472,7 +474,7 @@ public class MessageBusVisitorSessionTestCase { if (msg.getMaxPendingReplyCount() != 32) { sb.append("max pending=").append(msg.getMaxPendingReplyCount()).append("\n"); } - if (!"[all]".equals(msg.getFieldSet())) { + if (!AllFields.NAME.equals(msg.getFieldSet())) { sb.append("fieldset=").append(msg.getFieldSet()).append("\n"); } if (msg.getVisitInconsistentBuckets()) { @@ -712,14 +714,13 @@ public class MessageBusVisitorSessionTestCase { params.setRoute("extraterrestrial/highway"); params.setTimeoutMs(1337); params.setMaxPending(111); - params.setFieldSet("[header]"); + params.setFieldSet(DocIdOnly.NAME); params.setLoadType(new LoadType(3, "samnmax", DocumentProtocol.Priority.HIGH_3)); params.setVisitRemoves(true); params.setVisitInconsistentBuckets(true); params.setTraceLevel(9); - MessageBusVisitorSession visitorSession = createVisitorSession( - sender, receiver, executor, params); + MessageBusVisitorSession visitorSession = createVisitorSession(sender, receiver, executor, params); visitorSession.start(); // Process initial task which sends a single CreateVisitor. @@ -735,7 +736,7 @@ public class MessageBusVisitorSessionTestCase { "from timestamp=9001\n" + "to timestamp=10001\n" + "max pending=111\n" + - "fieldset=[header]\n" + + "fieldset=[id]\n" + "visit inconsistent=true\n" + "visit removes=true\n" + "parameters=[\n" + diff --git a/documentapi/src/tests/policies/policies_test.cpp b/documentapi/src/tests/policies/policies_test.cpp index 0f0b9bd4504..61a8618556b 100644 --- a/documentapi/src/tests/policies/policies_test.cpp +++ b/documentapi/src/tests/policies/policies_test.cpp @@ -329,7 +329,7 @@ Test::testExternSend() mbus::DestinationSession::UP ds = dst.mb.createDestinationSession("session", true, dr); // Send message from local node to remote cluster and resolve route there. - mbus::Message::UP msg(new GetDocumentMessage(DocumentId("id:ns:testdoc::"), 0)); + mbus::Message::UP msg = std::make_unique<GetDocumentMessage>(DocumentId("id:ns:testdoc::")); msg->getTrace().setLevel(9); msg->setRoute(mbus::Route::parse(vespalib::make_string("[Extern:tcp/localhost:%d;itr/session] default", slobrok.port()))); @@ -365,7 +365,7 @@ Test::testExternMultipleSlobroks() std::make_shared<DocumentProtocol>(_loadTypes, _repo)); mbus::DestinationSession::UP ds = dst.mb.createDestinationSession("session", true, dr); - mbus::Message::UP msg(new GetDocumentMessage(DocumentId("id:ns:testdoc::"), 0)); + mbus::Message::UP msg = std::make_unique<GetDocumentMessage>(DocumentId("id:ns:testdoc::")); msg->setRoute(mbus::Route::parse(vespalib::make_string("[Extern:%s;dst/session]", spec.c_str()))); ASSERT_TRUE(ss->send(std::move(msg)).isAccepted()); ASSERT_TRUE((msg = dr.getMessage(TIMEOUT))); @@ -381,7 +381,7 @@ Test::testExternMultipleSlobroks() std::make_shared<DocumentProtocol>(_loadTypes, _repo)); mbus::DestinationSession::UP ds = dst.mb.createDestinationSession("session", true, dr); - mbus::Message::UP msg(new GetDocumentMessage(DocumentId("id:ns:testdoc::"), 0)); + mbus::Message::UP msg = std::make_unique<GetDocumentMessage>(DocumentId("id:ns:testdoc::")); msg->setRoute(mbus::Route::parse(vespalib::make_string("[Extern:%s;dst/session]", spec.c_str()))); ASSERT_TRUE(ss->send(std::move(msg)).isAccepted()); ASSERT_TRUE((msg = dr.getMessage(TIMEOUT))); @@ -615,7 +615,7 @@ Test::testDocumentRouteSelector() .addRecipient("foo") .addRecipient("bar")); - frame.setMessage(make_unique<GetDocumentMessage>(DocumentId("id:ns:testdoc::"), 0)); + frame.setMessage(make_unique<GetDocumentMessage>(DocumentId("id:ns:testdoc::"))); EXPECT_TRUE(frame.testSelect(StringList().add("foo"))); mbus::Message::UP put = make_unique<PutDocumentMessage>(make_shared<Document>(*_docType, DocumentId("id:ns:testdoc::"))); diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/getdocumentmessage.cpp b/documentapi/src/vespa/documentapi/messagebus/messages/getdocumentmessage.cpp index 821af8e256b..acc3e61843e 100644 --- a/documentapi/src/vespa/documentapi/messagebus/messages/getdocumentmessage.cpp +++ b/documentapi/src/vespa/documentapi/messagebus/messages/getdocumentmessage.cpp @@ -3,20 +3,21 @@ #include "getdocumentmessage.h" #include "getdocumentreply.h" #include <vespa/documentapi/messagebus/documentprotocol.h> +#include <vespa/document/fieldset/fieldsets.h> namespace documentapi { GetDocumentMessage::GetDocumentMessage() : DocumentMessage(), _documentId(), - _fieldSet("[all]") + _fieldSet(document::AllFields::NAME) {} -GetDocumentMessage::GetDocumentMessage(const document::DocumentId &documentId, int flags) : +GetDocumentMessage::GetDocumentMessage(const document::DocumentId &documentId) : DocumentMessage(), - _documentId(documentId) + _documentId(documentId), + _fieldSet(document::AllFields::NAME) { - setFlags(flags); } GetDocumentMessage::GetDocumentMessage(const document::DocumentId &documentId, @@ -27,13 +28,12 @@ GetDocumentMessage::GetDocumentMessage(const document::DocumentId &documentId, { } -GetDocumentMessage::~GetDocumentMessage() { -} +GetDocumentMessage::~GetDocumentMessage() = default; DocumentReply::UP GetDocumentMessage::doCreateReply() const { - return DocumentReply::UP(new GetDocumentReply()); + return std::make_unique<GetDocumentReply>(); } uint32_t diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/getdocumentmessage.h b/documentapi/src/vespa/documentapi/messagebus/messages/getdocumentmessage.h index 619367faf4d..d157b68c4ed 100644 --- a/documentapi/src/vespa/documentapi/messagebus/messages/getdocumentmessage.h +++ b/documentapi/src/vespa/documentapi/messagebus/messages/getdocumentmessage.h @@ -21,11 +21,6 @@ public: typedef std::unique_ptr<GetDocumentMessage> UP; typedef std::shared_ptr<GetDocumentMessage> SP; - enum { - FLAG_NONE = 0, - FLAG_ONLY_HEADER = 1 - }; - /** * Constructs a new message for deserialization. */ @@ -35,9 +30,8 @@ public: * Constructs a new document get message. * * @param documentId The identifier of the document to retrieve. - * @param flags How to retrieve the document. */ - GetDocumentMessage(const document::DocumentId &documentId, int flags = 0); + explicit GetDocumentMessage(const document::DocumentId &documentId); /** * Constructs a new document get message. @@ -45,8 +39,7 @@ public: * @param documentId The identifier of the document to retrieve. * @param fieldSet The fields to retrieve (comma-separated) */ - GetDocumentMessage(const document::DocumentId &documentId, - vespalib::stringref fieldSet); + GetDocumentMessage(const document::DocumentId &documentId, vespalib::stringref fieldSet); ~GetDocumentMessage(); @@ -65,23 +58,6 @@ public: void setDocumentId(const document::DocumentId &documentId); /** - * Returs the storage flags of this message. - * - * @return The storage flags. - */ - int getFlags() const { return (_fieldSet == "[header]" ? FLAG_ONLY_HEADER : - FLAG_NONE); }; - - /** - * Sets the storage flags of this message. - * - * @param flags The flags to set. - */ - void setFlags(int flags) { - _fieldSet = (flags == FLAG_ONLY_HEADER) ? "[header]" : "[all]"; - } - - /** * Returns the fields to be retrieved by the get. */ const string& getFieldSet() const { return _fieldSet; } diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/visitor.cpp b/documentapi/src/vespa/documentapi/messagebus/messages/visitor.cpp index 453e93fd7eb..26e5344df2d 100644 --- a/documentapi/src/vespa/documentapi/messagebus/messages/visitor.cpp +++ b/documentapi/src/vespa/documentapi/messagebus/messages/visitor.cpp @@ -5,6 +5,7 @@ #include <vespa/vespalib/objects/nbostream.h> #include <vespa/vespalib/util/growablebytebuffer.h> #include <vespa/document/util/bytebuffer.h> +#include <vespa/document/fieldset/fieldsets.h> #include <climits> using document::FixedBucketSpaces; @@ -24,7 +25,7 @@ CreateVisitorMessage::CreateVisitorMessage() : _fromTime(0), _toTime(0), _visitRemoves(false), - _fieldSet("[all]"), + _fieldSet(document::AllFields::NAME), _visitInconsistentBuckets(false), _params(), _version(42), @@ -47,7 +48,7 @@ CreateVisitorMessage::CreateVisitorMessage(const string& libraryName, _fromTime(0), _toTime(0), _visitRemoves(false), - _fieldSet("[all]"), + _fieldSet(document::AllFields::NAME), _visitInconsistentBuckets(false), _params(), _version(42), |