summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-01-31 22:30:03 +0100
committerGitHub <noreply@github.com>2022-01-31 22:30:03 +0100
commita1620d5103e9597b25548fca09c8d22a2ae261c0 (patch)
treea8f056c0cd62212c90f3311a0840e4b0dd9f6917
parent24cda01ea9617710a4ace346a51cf5860178e4c4 (diff)
parenta43665dd303b8ef2e5eee3ea7b11b12fdd734612 (diff)
Merge pull request #21001 from vespa-engine/vekterli/deprecate-legacy-visitor-functionality
Deprecate legacy visitor functionality
-rw-r--r--container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsVisitorTestCase.java1
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/VisitorParameters.java15
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusVisitorSession.java6
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories60.java10
-rw-r--r--documentapi/src/test/java/com/yahoo/documentapi/VisitorParametersTestCase.java2
-rw-r--r--documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/Messages60TestCase.java3
-rwxr-xr-xdocumentapi/src/test/java/com/yahoo/documentapi/messagebus/test/MessageBusVisitorSessionTestCase.java4
-rw-r--r--vdslib/src/main/java/com/yahoo/vdslib/VisitorStatistics.java25
-rw-r--r--vespaclient-java/src/main/java/com/yahoo/vespavisit/VdsVisit.java3
9 files changed, 57 insertions, 12 deletions
diff --git a/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsVisitorTestCase.java b/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsVisitorTestCase.java
index cc70f46fca1..1d07cafeda9 100644
--- a/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsVisitorTestCase.java
+++ b/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsVisitorTestCase.java
@@ -243,7 +243,6 @@ public class VdsVisitorTestCase {
assertEquals(DocumentProtocol.Priority.VERY_HIGH, params.getPriority());
}
}
- assertEquals(-1, params.getMaxFirstPassHits());
if (qa.maxBucketsPerVisitor != 0) {
assertEquals(qa.maxBucketsPerVisitor, params.getMaxBucketsPerVisitor());
} else {
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/VisitorParameters.java b/documentapi/src/main/java/com/yahoo/documentapi/VisitorParameters.java
index 44675d8d2ac..605bb95ba24 100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/VisitorParameters.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/VisitorParameters.java
@@ -286,10 +286,18 @@ public class VisitorParameters extends Parameters {
// TODO: Document: Where is the default - does this ever return null, or does it return "storage" if input is null?
public Route getRoute() { return visitRoute; }
- /** Set the maximum number of documents to visit (max documents returned by the visitor) */
+ /** Set the maximum number of documents to visit (max documents returned by the visitor)
+ *
+ * @deprecated use setMaxTotalHits instead
+ */
+ @Deprecated(since = "7", forRemoval = true) // TODO: Vespa 8: remove
public void setMaxFirstPassHits(long max) { maxFirstPassHits = max; }
- /** @return Returns the maximum number of documents to visit (max documents returned by the visitor) */
+ /** @return Returns the maximum number of documents to visit (max documents returned by the visitor)
+ *
+ * @deprecated Use getMaxTotalHits() instead
+ */
+ @Deprecated(since = "7", forRemoval = true) // TODO: Vespa 8: remove
public long getMaxFirstPassHits() { return maxFirstPassHits; }
/** Set the maximum number of documents to visit (max documents returned by the visitor) */
@@ -349,7 +357,10 @@ public class VisitorParameters extends Parameters {
* the desired amount of documents
*
* @param dynamicallyIncreaseMaxBucketsPerVisitor whether or not to increase
+ *
+ * @deprecated deprecated feature, will be removed on Vespa 8
*/
+ @Deprecated(since = "7", forRemoval = true) // TODO: Vespa 8: remove
public void setDynamicallyIncreaseMaxBucketsPerVisitor(boolean dynamicallyIncreaseMaxBucketsPerVisitor) {
this.dynamicallyIncreaseMaxBucketsPerVisitor = dynamicallyIncreaseMaxBucketsPerVisitor;
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusVisitorSession.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusVisitorSession.java
index e99028684c7..1c473a196f3 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusVisitorSession.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusVisitorSession.java
@@ -933,7 +933,9 @@ public class MessageBusVisitorSession implements VisitorSession {
progress.getIterator().update(bucket, ProgressToken.FINISHED_BUCKET);
}
+ @SuppressWarnings("removal") // TODO: Vespa 8: remove
private boolean enoughHitsReceived() {
+ // TODO: Vespa 8: remove "Nth pass" concept entirely from API and internals
if (params.getMaxFirstPassHits() != -1
&& statistics.getDocumentsReturned() >= params.getMaxFirstPassHits())
{
@@ -941,7 +943,7 @@ public class MessageBusVisitorSession implements VisitorSession {
}
if (params.getMaxTotalHits() != -1
&& ((statistics.getDocumentsReturned()
- + statistics.getSecondPassDocumentsReturned())
+ + statistics.getSecondPassDocumentsReturned()) // TODO: Vespa 8: remove
>= params.getMaxTotalHits()))
{
return true;
@@ -1021,6 +1023,7 @@ public class MessageBusVisitorSession implements VisitorSession {
return scheduleSendCreateVisitorsIfApplicable(0, TimeUnit.MILLISECONDS);
}
+ @SuppressWarnings("removal")// TODO: Vespa 8: remove
private void handleCreateVisitorReply(CreateVisitorReply reply) {
CreateVisitorMessage msg = (CreateVisitorMessage)reply.getMessage();
@@ -1040,6 +1043,7 @@ public class MessageBusVisitorSession implements VisitorSession {
trace.getRoot().addChild(reply.getTrace().getRoot());
}
+ // TODO: Vespa 8 remove this unused functionality
if (params.getDynamicallyIncreaseMaxBucketsPerVisitor()
&& (reply.getVisitorStatistics().getDocumentsReturned()
< params.getMaxFirstPassHits() / 2.0))
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories60.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories60.java
index b6c87e0a27e..c022af0cf07 100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories60.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories60.java
@@ -237,6 +237,7 @@ public abstract class RoutableFactories60 {
public static class CreateVisitorReplyFactory extends DocumentReplyFactory {
@Override
+ @SuppressWarnings("removal")// TODO: Vespa 8: remove
protected DocumentReply doDecode(DocumentDeserializer buf) {
CreateVisitorReply reply = new CreateVisitorReply(DocumentProtocol.REPLY_CREATEVISITOR);
reply.setLastBucket(new BucketId(buf.getLong(null)));
@@ -247,13 +248,14 @@ public abstract class RoutableFactories60 {
vs.setBytesVisited(buf.getLong(null));
vs.setDocumentsReturned(buf.getLong(null));
vs.setBytesReturned(buf.getLong(null));
- vs.setSecondPassDocumentsReturned(buf.getLong(null));
- vs.setSecondPassBytesReturned(buf.getLong(null));
+ vs.setSecondPassDocumentsReturned(buf.getLong(null)); // TODO: on Vespa 8 remove setter (_not_ getLong())
+ vs.setSecondPassBytesReturned(buf.getLong(null)); // TODO: on Vespa 8 remove setter (_not_ getLong())
reply.setVisitorStatistics(vs);
return reply;
}
@Override
+ @SuppressWarnings("removal")// TODO: Vespa 8: remove
protected boolean doEncode(DocumentReply obj, DocumentSerializer buf) {
CreateVisitorReply reply = (CreateVisitorReply)obj;
buf.putLong(null, reply.getLastBucket().getRawId());
@@ -262,8 +264,8 @@ public abstract class RoutableFactories60 {
buf.putLong(null, reply.getVisitorStatistics().getBytesVisited());
buf.putLong(null, reply.getVisitorStatistics().getDocumentsReturned());
buf.putLong(null, reply.getVisitorStatistics().getBytesReturned());
- buf.putLong(null, reply.getVisitorStatistics().getSecondPassDocumentsReturned());
- buf.putLong(null, reply.getVisitorStatistics().getSecondPassBytesReturned());
+ buf.putLong(null, reply.getVisitorStatistics().getSecondPassDocumentsReturned()); // TODO: on Vespa 8 remove getter (_not_ putLong())
+ buf.putLong(null, reply.getVisitorStatistics().getSecondPassBytesReturned()); // TODO: on Vespa 8 remove getter (_not_ putLong())
return true;
}
}
diff --git a/documentapi/src/test/java/com/yahoo/documentapi/VisitorParametersTestCase.java b/documentapi/src/test/java/com/yahoo/documentapi/VisitorParametersTestCase.java
index 88e87a632d2..caed3867d99 100644
--- a/documentapi/src/test/java/com/yahoo/documentapi/VisitorParametersTestCase.java
+++ b/documentapi/src/test/java/com/yahoo/documentapi/VisitorParametersTestCase.java
@@ -10,6 +10,7 @@ import static org.junit.Assert.*;
public class VisitorParametersTestCase {
private LoadType loadType = new LoadType(3, "samnmax", DocumentProtocol.Priority.HIGH_3);
+ @SuppressWarnings("removal")// TODO: Vespa 8: remove
private VisitorParameters createVisitorParameters() {
VisitorParameters params = new VisitorParameters("");
params.setDocumentSelection("id.user==5678");
@@ -42,6 +43,7 @@ public class VisitorParametersTestCase {
return params;
}
+ @SuppressWarnings("removal")// TODO: Vespa 8: remove
@Test
public void testCopyConstructor() {
VisitorParameters params = createVisitorParameters();
diff --git a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/Messages60TestCase.java b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/Messages60TestCase.java
index 51fef9ac557..5250a6b1db7 100644
--- a/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/Messages60TestCase.java
+++ b/documentapi/src/test/java/com/yahoo/documentapi/messagebus/protocol/test/Messages60TestCase.java
@@ -274,6 +274,7 @@ public class Messages60TestCase extends MessagesTestBase {
public class testCreateVisitorReply implements RunnableTest {
@Override
+ @SuppressWarnings("removal")
public void run() {
CreateVisitorReply reply = new CreateVisitorReply(DocumentProtocol.REPLY_CREATEVISITOR);
reply.setLastBucket(new BucketId(16, 123));
@@ -296,7 +297,7 @@ public class Messages60TestCase extends MessagesTestBase {
assertEquals(1024000, reply.getVisitorStatistics().getBytesVisited());
assertEquals(123, reply.getVisitorStatistics().getDocumentsReturned());
assertEquals(512000, reply.getVisitorStatistics().getBytesReturned());
- assertEquals(456, reply.getVisitorStatistics().getSecondPassDocumentsReturned());
+ assertEquals(456, reply.getVisitorStatistics().getSecondPassDocumentsReturned()); // TODO remove on Vespa 8
assertEquals(789100, reply.getVisitorStatistics().getSecondPassBytesReturned());
}
}
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 f55e6433cd0..01c4383b16a 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
@@ -942,6 +942,7 @@ public class MessageBusVisitorSessionTestCase {
}
@Override
+ @SuppressWarnings("removal") // TODO: Vespa 8: remove
public void onVisitorStatistics(VisitorStatistics vs) {
super.onVisitorStatistics(vs);
builder.append("onVisitorStatistics : ");
@@ -1411,6 +1412,7 @@ public class MessageBusVisitorSessionTestCase {
doTestEarlyCompletion(visitorParameters, replyModifier1, replyModifier2);
}
+ @SuppressWarnings("removal")// TODO: Vespa 8: remove
@Test
public void testVisitingCompletedFromSufficientFirstPassHits() {
VisitorParameters visitorParameters = createVisitorParameters("id.user==1234");
@@ -1432,6 +1434,7 @@ public class MessageBusVisitorSessionTestCase {
doTestEarlyCompletion(visitorParameters, replyModifier1, replyModifier2);
}
+ @SuppressWarnings("removal")// TODO: Vespa 8: remove test
@Test
public void testVisitingCompletedFromSecondPassHits() {
VisitorParameters visitorParameters = createVisitorParameters("id.user==1234");
@@ -2312,6 +2315,7 @@ public class MessageBusVisitorSessionTestCase {
mc.controlHandler.toString());
}
+ @SuppressWarnings("removal")// TODO: Vespa 8: remove test
@Test
public void testDynamicallyIncreaseMaxBucketsPerVisitorOption() {
VisitorParameters visitorParameters = createVisitorParameters("id.user==1234");
diff --git a/vdslib/src/main/java/com/yahoo/vdslib/VisitorStatistics.java b/vdslib/src/main/java/com/yahoo/vdslib/VisitorStatistics.java
index f3bf6f4ed38..a79f3d5fb6d 100644
--- a/vdslib/src/main/java/com/yahoo/vdslib/VisitorStatistics.java
+++ b/vdslib/src/main/java/com/yahoo/vdslib/VisitorStatistics.java
@@ -23,22 +23,47 @@ public class VisitorStatistics {
public int getBucketsVisited() { return bucketsVisited; }
public void setBucketsVisited(int bucketsVisited) { this.bucketsVisited = bucketsVisited; }
+ /**
+ * @return the number of documents matching the document selection in the backend and that
+ * has been passed to the client-specified visitor instance (dumpvisitor, searchvisitor etc).
+ */
public long getDocumentsVisited() { return documentsVisited; }
public void setDocumentsVisited(long documentsVisited) { this.documentsVisited = documentsVisited; }
public long getBytesVisited() { return bytesVisited; }
public void setBytesVisited(long bytesVisited) { this.bytesVisited = bytesVisited; }
+ /**
+ * @return Number of documents returned to the visitor client by the backend. This number may
+ * be lower than that returned by getDocumentsVisited() since the client-specified visitor
+ * instance may further have filtered the set of documents returned by the backend.
+ */
public long getDocumentsReturned() { return documentsReturned; }
public void setDocumentsReturned(long documentsReturned) { this.documentsReturned = documentsReturned; }
public long getBytesReturned() { return bytesReturned; }
public void setBytesReturned(long bytesReturned) { this.bytesReturned = bytesReturned; }
+ /**
+ * @deprecated Use getDocumentsReturned() instead
+ */
+ @Deprecated(since = "7", forRemoval = true) // TODO: Vespa 8: remove
public long getSecondPassDocumentsReturned() { return secondPassDocumentsReturned; }
+ /**
+ * @deprecated only applies for deprecated "orderdoc" ID scheme
+ */
+ @Deprecated(since = "7", forRemoval = true)// TODO: Vespa 8: remove
public void setSecondPassDocumentsReturned(long secondPassDocumentsReturned) { this.secondPassDocumentsReturned = secondPassDocumentsReturned; }
+ /**
+ * @deprecated Use getBytesReturned() instead
+ */
+ @Deprecated(since = "7", forRemoval = true) // TODO: Vespa 8: remove
public long getSecondPassBytesReturned() { return secondPassBytesReturned; }
+ /**
+ * @deprecated only applies for deprecated "orderdoc" ID scheme
+ */
+ @Deprecated(since = "7", forRemoval = true) // TODO: Vespa 8: remove
public void setSecondPassBytesReturned(long secondPassBytesReturned) { this.secondPassBytesReturned = secondPassBytesReturned; }
public String toString() {
diff --git a/vespaclient-java/src/main/java/com/yahoo/vespavisit/VdsVisit.java b/vespaclient-java/src/main/java/com/yahoo/vespavisit/VdsVisit.java
index f74f7397ae3..4d79f2f2e1d 100644
--- a/vespaclient-java/src/main/java/com/yahoo/vespavisit/VdsVisit.java
+++ b/vespaclient-java/src/main/java/com/yahoo/vespavisit/VdsVisit.java
@@ -523,9 +523,6 @@ public class VdsVisit {
if (line.hasOption("processtime")) {
allParams.setProcessTime(((Number) line.getParsedOptionValue("processtime")).intValue());
}
- if (line.hasOption("maxhits")) {
- params.setMaxFirstPassHits(((Number)line.getParsedOptionValue("maxhits")).intValue());
- }
if (line.hasOption("maxtotalhits")) {
params.setMaxTotalHits(((Number)line.getParsedOptionValue("maxtotalhits")).intValue());
}