aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-04-19 09:58:55 +0200
committerGitHub <noreply@github.com>2023-04-19 09:58:55 +0200
commit4143fbfef4208f4d3b7b6410283a8d7e1e79646c (patch)
tree01e367f7a1564321b44576f191fbaf20d7c4352f
parentaf511c60f999ba1a60f4aa3ed2443c86e4ae01b2 (diff)
parent0be94de0507cd72b511b02c863430cd04cef466f (diff)
Merge pull request #26775 from vespa-engine/balder/allow-chunks-larger-than-1k
Balder/allow chunks larger than 1k
-rw-r--r--vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java69
-rw-r--r--vespaclient-container-plugin/src/test/java/com/yahoo/document/restapi/resource/DocumentV1ApiTest.java2
2 files changed, 25 insertions, 46 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 2a688ad078b..28e475b8370 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
@@ -526,23 +526,18 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
parameters = getProperty(request, TIMEOUT, timeoutMillisParser).map(clock.instant()::plusMillis)
.map(parameters::withDeadline)
.orElse(parameters);
- for (String name : names) switch (name) {
- case CLUSTER:
- parameters = getProperty(request, CLUSTER).map(cluster -> resolveCluster(Optional.of(cluster), clusters).name())
- .map(parameters::withRoute)
- .orElse(parameters);
- break;
- case FIELD_SET:
- parameters = getProperty(request, FIELD_SET).map(parameters::withFieldSet)
- .orElse(parameters);
- break;
- case ROUTE:
- parameters = getProperty(request, ROUTE).map(parameters::withRoute)
- .orElse(parameters);
- break;
- default:
- throw new IllegalArgumentException("Unrecognized document operation parameter name '" + name + "'");
- }
+ for (String name : names)
+ parameters = switch (name) {
+ case CLUSTER ->
+ getProperty(request, CLUSTER)
+ .map(cluster -> resolveCluster(Optional.of(cluster), clusters).name())
+ .map(parameters::withRoute)
+ .orElse(parameters);
+ case FIELD_SET -> getProperty(request, FIELD_SET).map(parameters::withFieldSet).orElse(parameters);
+ case ROUTE -> getProperty(request, ROUTE).map(parameters::withRoute).orElse(parameters);
+ default ->
+ throw new IllegalArgumentException("Unrecognized document operation parameter name '" + name + "'");
+ };
return parameters;
}
@@ -630,10 +625,6 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
private boolean first = true;
private ContentChannel channel;
- private JsonResponse(ResponseHandler handler) throws IOException {
- this(handler, null);
- }
-
private JsonResponse(ResponseHandler handler, HttpRequest request) throws IOException {
this.handler = handler;
this.request = request;
@@ -642,11 +633,6 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
}
/** Creates a new JsonResponse with path and id fields written. */
- static JsonResponse create(DocumentPath path, ResponseHandler handler) throws IOException {
- return create(path, handler, null);
- }
-
- /** Creates a new JsonResponse with path and id fields written. */
static JsonResponse create(DocumentPath path, ResponseHandler handler, HttpRequest request) throws IOException {
JsonResponse response = new JsonResponse(handler, request);
response.writePathId(path.rawPath());
@@ -749,23 +735,17 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
}
private boolean tensorShortForm() {
- if (request != null &&
- request.parameters().containsKey("format.tensors") &&
- ( request.parameters().get("format.tensors").contains("long")
- || request.parameters().get("format.tensors").contains("long-value"))) {
- return false;
- }
- return true; // default
+ return request == null ||
+ !request.parameters().containsKey("format.tensors") ||
+ (!request.parameters().get("format.tensors").contains("long")
+ && !request.parameters().get("format.tensors").contains("long-value"));// default
}
private boolean tensorDirectValues() {
- if (request != null &&
- request.parameters().containsKey("format.tensors") &&
- ( request.parameters().get("format.tensors").contains("short-value")
- || request.parameters().get("format.tensors").contains("long-value"))) {
- return true;
- }
- return false; // TODO: Flip default on Vespa 9
+ return request != null &&
+ request.parameters().containsKey("format.tensors") &&
+ (request.parameters().get("format.tensors").contains("short-value")
+ || request.parameters().get("format.tensors").contains("long-value"));// TODO: Flip default on Vespa 9
}
synchronized void writeSingleDocument(Document document) throws IOException {
@@ -1168,9 +1148,8 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
// ------------------------------------------------- Visits ------------------------------------------------
private VisitorParameters parseGetParameters(HttpRequest request, DocumentPath path, boolean streamed) {
- int wantedDocumentCount = Math.min(streamed ? Integer.MAX_VALUE : 1 << 10,
- getProperty(request, WANTED_DOCUMENT_COUNT, integerParser)
- .orElse(streamed ? Integer.MAX_VALUE : 1));
+ int wantedDocumentCount = getProperty(request, WANTED_DOCUMENT_COUNT, integerParser)
+ .orElse(streamed ? Integer.MAX_VALUE : 1 << 10);
if (wantedDocumentCount <= 0)
throw new IllegalArgumentException("wantedDocumentCount must be positive");
@@ -1546,11 +1525,11 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
private static Map<String, StorageCluster> parseClusters(ClusterListConfig clusters, AllClustersBucketSpacesConfig buckets) {
return clusters.storage().stream()
- .collect(toUnmodifiableMap(storage -> storage.name(),
+ .collect(toUnmodifiableMap(ClusterListConfig.Storage::name,
storage -> new StorageCluster(storage.name(),
buckets.cluster(storage.name())
.documentType().entrySet().stream()
- .collect(toMap(entry -> entry.getKey(),
+ .collect(toMap(Map.Entry::getKey,
entry -> entry.getValue().bucketSpace())))));
}
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 851a0949266..7696fd2196c 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
@@ -217,7 +217,7 @@ public class DocumentV1ApiTest {
access.expect(parameters -> {
assertEquals("content", parameters.getRoute().toString());
assertEquals("default", parameters.getBucketSpace());
- assertEquals(1024, parameters.getMaxTotalHits());
+ assertEquals(1025, parameters.getMaxTotalHits());
assertEquals(100, ((StaticThrottlePolicy) parameters.getThrottlePolicy()).getMaxPendingCount());
assertEquals("[id]", parameters.getFieldSet());
assertEquals("(all the things)", parameters.getDocumentSelection());