summaryrefslogtreecommitdiffstats
path: root/documentapi
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2020-08-05 09:09:29 +0200
committerGitHub <noreply@github.com>2020-08-05 09:09:29 +0200
commit78d1d7c83099639947edb423c67df4961a2cf5e4 (patch)
tree52b17fad75ba741518f59f01f0a3ab1372a8774b /documentapi
parent2e82ff0ff2e24811d96c42126d81526da7ea3779 (diff)
parent2e225436140011754c7d467d5174624d4e451552 (diff)
Merge pull request #13985 from vespa-engine/balder/minor-fieldset-cleanup
Balder/minor fieldset cleanup
Diffstat (limited to 'documentapi')
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/VisitorParameters.java3
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusAsyncSession.java3
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusSyncSession.java3
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/CreateVisitorMessage.java3
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/GetDocumentMessage.java3
-rw-r--r--documentapi/src/test/java/com/yahoo/documentapi/VisitorParametersTestCase.java7
-rw-r--r--documentapi/src/test/java/com/yahoo/documentapi/local/LocalDocumentApiTestCase.java3
-rwxr-xr-xdocumentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/PolicyTestCase.java3
-rwxr-xr-xdocumentapi/src/test/java/com/yahoo/documentapi/messagebus/test/MessageBusVisitorSessionTestCase.java11
-rw-r--r--documentapi/src/tests/policies/policies_test.cpp8
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/getdocumentmessage.cpp14
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/getdocumentmessage.h28
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/visitor.cpp5
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),