summaryrefslogtreecommitdiffstats
path: root/vespaclient-container-plugin
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahooinc.com>2023-01-09 15:00:54 +0100
committerBjørn Christian Seime <bjorncs@yahooinc.com>2023-01-09 15:00:54 +0100
commite1ad75932b1bd3823e658ef306e631a0a7e95603 (patch)
treea8ef50a4064273e259916d16e232b9bb674e2245 /vespaclient-container-plugin
parent74422f710be52c00f7edd86e24d5e054c93c24e8 (diff)
Increment metric on parse errors in `/document/v1`
Diffstat (limited to 'vespaclient-container-plugin')
-rw-r--r--vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java13
1 files changed, 9 insertions, 4 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 1d202ab8866..7a66ba2ee79 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
@@ -3,8 +3,8 @@ package com.yahoo.document.restapi.resource;
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonGenerator;
-import com.yahoo.component.annotation.Inject;
import com.yahoo.cloud.config.ClusterListConfig;
+import com.yahoo.component.annotation.Inject;
import com.yahoo.concurrent.DaemonThreadFactory;
import com.yahoo.concurrent.SystemTimer;
import com.yahoo.container.core.HandlerMetricContextUtil;
@@ -116,7 +116,6 @@ import static com.yahoo.jdisc.http.HttpRequest.Method.GET;
import static com.yahoo.jdisc.http.HttpRequest.Method.OPTIONS;
import static com.yahoo.jdisc.http.HttpRequest.Method.POST;
import static com.yahoo.jdisc.http.HttpRequest.Method.PUT;
-import static com.yahoo.vespa.http.server.Headers.CLIENT_VERSION;
import static java.util.Objects.requireNonNull;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static java.util.logging.Level.FINE;
@@ -1029,7 +1028,7 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
}
}
- static class DocumentOperationParser {
+ class DocumentOperationParser {
private final DocumentTypeManager manager;
@@ -1046,7 +1045,12 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
}
private ParsedDocumentOperation parse(InputStream inputStream, String docId, DocumentOperationType operation) {
- return new JsonReader(manager, inputStream, jsonFactory).readSingleDocument(operation, docId);
+ try {
+ return new JsonReader(manager, inputStream, jsonFactory).readSingleDocument(operation, docId);
+ } catch (IllegalArgumentException e) {
+ incrementMetricParseError();
+ throw e;
+ }
}
}
@@ -1134,6 +1138,7 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
private void incrementMetricConditionNotMet() { incrementMetric(MetricNames.CONDITION_NOT_MET); }
private void incrementMetricSucceeded() { incrementMetric(MetricNames.SUCCEEDED); }
private void incrementMetricNotFound() { incrementMetric(MetricNames.NOT_FOUND); }
+ private void incrementMetricParseError() { incrementMetric(MetricNames.PARSE_ERROR); }
private void incrementMetric(String n) { metric.add(n, 1, null); }
private void setMetric(String n, Number v) { metric.set(n, v, null); }