summaryrefslogtreecommitdiffstats
path: root/vespaclient-container-plugin/src/main
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2020-10-29 20:15:54 +0100
committerJon Marius Venstad <venstad@gmail.com>2020-10-29 20:15:54 +0100
commit5b8f92a7e2ec58b5d227326488a4b4c3d3fda636 (patch)
tree610ce22e03bf1d20c7a7498b616115452acb61eb /vespaclient-container-plugin/src/main
parent50c1f916a1699daac57f35cbc0c37060d09aed54 (diff)
Use existing timeout parse code
Diffstat (limited to 'vespaclient-container-plugin/src/main')
-rw-r--r--vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java15
1 files changed, 5 insertions, 10 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 f9bb94b3ccb..8287b6f1630 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
@@ -56,6 +56,7 @@ import com.yahoo.messagebus.Trace;
import com.yahoo.messagebus.TraceNode;
import com.yahoo.metrics.simple.MetricReceiver;
import com.yahoo.restapi.Path;
+import com.yahoo.search.query.ParameterParser;
import com.yahoo.text.Text;
import com.yahoo.vespa.config.content.AllClustersBucketSpacesConfig;
import com.yahoo.yolean.Exceptions;
@@ -100,7 +101,6 @@ import static com.yahoo.jdisc.http.HttpRequest.Method.PUT;
import static java.util.Objects.requireNonNull;
import static java.util.logging.Level.FINE;
import static java.util.logging.Level.WARNING;
-import static java.util.stream.Collectors.collectingAndThen;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toMap;
import static java.util.stream.Collectors.toUnmodifiableMap;
@@ -112,13 +112,11 @@ import static java.util.stream.Collectors.toUnmodifiableMap;
*/
public class DocumentV1ApiHandler extends AbstractRequestHandler {
+ private static final Duration defaultTimeout = Duration.ofSeconds(175);
+
private static final Logger log = Logger.getLogger(DocumentV1ApiHandler.class.getName());
private static final Parser<Integer> integerParser = Integer::parseInt;
- private static final Parser<Double> timeoutParser = value -> {
- int suffixLength = value.endsWith("ms") ? 2 : value.endsWith("s") ? 1 : 0;
- double factor = suffixLength == 2 ? 1e-3 : 1;
- return Double.parseDouble(value.substring(0, value.length() - suffixLength)) * factor;
- };
+ private static final Parser<Long> timeoutMillisParser = value -> ParameterParser.asMilliSeconds(value, defaultTimeout.toMillis());
private static final Parser<Boolean> booleanParser = Boolean::parseBoolean;
private static final CompletionHandler logException = new CompletionHandler() {
@@ -135,8 +133,6 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
private static final JsonFactory jsonFactory = new JsonFactory();
- private static final Duration defaultTimeout = Duration.ofSeconds(175);
-
private static final String CREATE = "create";
private static final String CONDITION = "condition";
private static final String ROUTE = "route";
@@ -206,8 +202,7 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
HttpRequest request = (HttpRequest) rawRequest;
try {
- request.setTimeout(getProperty(request, TIMEOUT, timeoutParser)
- .map(timeoutSeconds -> (long) (timeoutSeconds * 1000))
+ request.setTimeout(getProperty(request, TIMEOUT, timeoutMillisParser)
.orElse(defaultTimeout.toMillis()),
TimeUnit.MILLISECONDS);