aboutsummaryrefslogtreecommitdiffstats
path: root/vespaclient-container-plugin
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-02-04 21:01:06 +0100
committerJon Marius Venstad <venstad@gmail.com>2021-02-04 21:01:06 +0100
commit0015af891e6f1c18c19149dbadacb1ba7703817c (patch)
tree8d6611adcd4deaf759a8f4cb401e3130faf496b4 /vespaclient-container-plugin
parent8474a1034ad5470b4b4d134a8daf279e4c7b6bfe (diff)
Include document count in responses
Diffstat (limited to 'vespaclient-container-plugin')
-rw-r--r--vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java10
-rw-r--r--vespaclient-container-plugin/src/test/java/com/yahoo/document/restapi/resource/DocumentV1ApiTest.java4
2 files changed, 13 insertions, 1 deletions
diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java
index 7c80db2ddc3..7b2578b4094 100644
--- a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java
+++ b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java
@@ -645,6 +645,10 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
json.writeStringField("message", message);
}
+ synchronized void writeDocumentCount(long count) throws IOException {
+ json.writeNumberField("documentCount", count);
+ }
+
synchronized void writeDocId(DocumentId id) throws IOException {
json.writeStringField("id", id.toString());
}
@@ -1083,11 +1087,17 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
if (getProgress() != null && ! getProgress().isFinished())
response.writeContinuation(getProgress().serializeToString());
+ if (getVisitorStatistics() != null)
+ response.writeDocumentCount(getVisitorStatistics().getDocumentsReturned());
+
response.respond(Response.Status.OK);
break;
}
default:
response.writeMessage(error.get() != null ? error.get() : message != null ? message : "Visiting failed");
+ if (getVisitorStatistics() != null)
+ response.writeDocumentCount(getVisitorStatistics().getDocumentsReturned());
+
response.respond(Response.Status.INTERNAL_SERVER_ERROR);
}
visitDispatcher.execute(() -> {
diff --git a/vespaclient-container-plugin/src/test/java/com/yahoo/document/restapi/resource/DocumentV1ApiTest.java b/vespaclient-container-plugin/src/test/java/com/yahoo/document/restapi/resource/DocumentV1ApiTest.java
index cee02618cd7..c297c09f906 100644
--- a/vespaclient-container-plugin/src/test/java/com/yahoo/document/restapi/resource/DocumentV1ApiTest.java
+++ b/vespaclient-container-plugin/src/test/java/com/yahoo/document/restapi/resource/DocumentV1ApiTest.java
@@ -211,6 +211,7 @@ public class DocumentV1ApiTest {
parameters.getLocalDataHandler().onMessage(new PutDocumentMessage(new DocumentPut(doc3)), tokens.get(2));
VisitorStatistics statistics = new VisitorStatistics();
statistics.setBucketsVisited(1);
+ statistics.setDocumentsReturned(3);
parameters.getControlHandler().onVisitorStatistics(statistics);
parameters.getControlHandler().onDone(VisitorControlHandler.CompletionCode.TIMEOUT, "timeout is OK");
});
@@ -235,7 +236,8 @@ public class DocumentV1ApiTest {
" \"id\": \"id:space:music:g=a:three\"," +
" \"fields\": {}" +
" }" +
- " ]" +
+ " ]," +
+ " \"documentCount\": 3" +
"}", response.readAll());
assertEquals(200, response.getStatus());