diff options
Diffstat (limited to 'config')
6 files changed, 19 insertions, 12 deletions
diff --git a/config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigRequester.java b/config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigRequester.java index d77cfc17c92..858dc46f77a 100644 --- a/config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigRequester.java +++ b/config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigRequester.java @@ -45,7 +45,7 @@ public class JRTConfigRequester implements RequestWaiter { private static final Duration delayBetweenWarnings = Duration.ofSeconds(60); static final float randomFraction = 0.2f; /* Time to be added to server timeout to create client timeout. This is the time allowed for the server to respond after serverTimeout has elapsed. */ - private static final Double additionalTimeForClientTimeout = 10.0; + private static final Duration additionalTimeForClientTimeout = Duration.ofSeconds(10); private final TimingValues timingValues; private final ScheduledThreadPoolExecutor scheduler; @@ -100,7 +100,7 @@ public class JRTConfigRequester implements RequestWaiter { request.setContext(new RequestContext(sub, req, connection)); if (!req.validateParameters()) throw new ConfigurationRuntimeException("Error in parameters for config request: " + req); - double jrtClientTimeout = getClientTimeout(req); + Duration jrtClientTimeout = getClientTimeout(req); log.log(FINE, () -> "Requesting config for " + sub + " on connection " + connection + " with client timeout " + jrtClientTimeout + (log.isLoggable(FINEST) ? (",defcontent=" + req.getDefContent().asString()) : "")); @@ -271,7 +271,7 @@ public class JRTConfigRequester implements RequestWaiter { return connectionPool; } - private Double getClientTimeout(JRTClientConfigRequest request) { - return (request.getTimeout() / 1000.0) + additionalTimeForClientTimeout; + private Duration getClientTimeout(JRTClientConfigRequest request) { + return Duration.ofMillis(request.getTimeout()).plus(additionalTimeForClientTimeout); } } diff --git a/config/src/main/java/com/yahoo/config/subscription/impl/MockConnection.java b/config/src/main/java/com/yahoo/config/subscription/impl/MockConnection.java index 24a080d5824..dc0372cea7f 100644 --- a/config/src/main/java/com/yahoo/config/subscription/impl/MockConnection.java +++ b/config/src/main/java/com/yahoo/config/subscription/impl/MockConnection.java @@ -10,6 +10,8 @@ import com.yahoo.vespa.config.PayloadChecksums; import com.yahoo.vespa.config.protocol.JRTServerConfigRequestV3; import com.yahoo.vespa.config.protocol.Payload; +import java.time.Duration; + /** * For unit testing * @@ -37,14 +39,14 @@ public class MockConnection implements ConnectionPool, Connection { } @Override - public void invokeAsync(Request request, double jrtTimeout, RequestWaiter requestWaiter) { + public void invokeAsync(Request request, Duration jrtTimeout, RequestWaiter requestWaiter) { numberOfRequests++; lastRequest = request; responseHandler.handle(request, requestWaiter); } @Override - public void invokeSync(Request request, double jrtTimeout) { + public void invokeSync(Request request, Duration jrtTimeout) { numberOfRequests++; lastRequest = request; } diff --git a/config/src/main/java/com/yahoo/vespa/config/Connection.java b/config/src/main/java/com/yahoo/vespa/config/Connection.java index ea6419c62e1..69e8fcf9963 100644 --- a/config/src/main/java/com/yahoo/vespa/config/Connection.java +++ b/config/src/main/java/com/yahoo/vespa/config/Connection.java @@ -4,14 +4,16 @@ package com.yahoo.vespa.config; import com.yahoo.jrt.Request; import com.yahoo.jrt.RequestWaiter; +import java.time.Duration; + /** * @author hmusum */ public interface Connection { - void invokeAsync(Request request, double jrtTimeout, RequestWaiter requestWaiter); + void invokeAsync(Request request, Duration jrtTimeout, RequestWaiter requestWaiter); - void invokeSync(Request request, double jrtTimeout); + void invokeSync(Request request, Duration jrtTimeout); String getAddress(); diff --git a/config/src/main/java/com/yahoo/vespa/config/JRTConnection.java b/config/src/main/java/com/yahoo/vespa/config/JRTConnection.java index 2d7c96febd6..f2a104696c1 100644 --- a/config/src/main/java/com/yahoo/vespa/config/JRTConnection.java +++ b/config/src/main/java/com/yahoo/vespa/config/JRTConnection.java @@ -7,6 +7,7 @@ import com.yahoo.jrt.Spec; import com.yahoo.jrt.Supervisor; import com.yahoo.jrt.Target; +import java.time.Duration; import java.util.Objects; import java.util.logging.Level; import java.util.logging.Logger; @@ -30,12 +31,12 @@ public class JRTConnection implements Connection { } @Override - public void invokeAsync(Request request, double jrtTimeout, RequestWaiter requestWaiter) { + public void invokeAsync(Request request, Duration jrtTimeout, RequestWaiter requestWaiter) { getTarget().invokeAsync(request, jrtTimeout, requestWaiter); } @Override - public void invokeSync(Request request, double jrtTimeout) { + public void invokeSync(Request request, Duration jrtTimeout) { getTarget().invokeSync(request, jrtTimeout); } diff --git a/config/src/main/java/com/yahoo/vespa/config/UrlDownloader.java b/config/src/main/java/com/yahoo/vespa/config/UrlDownloader.java index b3a4590fdb2..62308315c95 100644 --- a/config/src/main/java/com/yahoo/vespa/config/UrlDownloader.java +++ b/config/src/main/java/com/yahoo/vespa/config/UrlDownloader.java @@ -11,6 +11,7 @@ import com.yahoo.jrt.Transport; import com.yahoo.vespa.defaults.Defaults; import java.io.File; +import java.time.Duration; import java.util.logging.Logger; import static java.util.logging.Level.FINE; @@ -47,7 +48,7 @@ public class UrlDownloader { target = supervisor.connect(spec); // ping to check if connection is working Request request = new Request("frt.rpc.ping"); - target.invokeSync(request, 5.0); + target.invokeSync(request, Duration.ofSeconds(5)); if (! request.isError()) { log.log(FINE, () -> "Successfully connected to '" + spec + "', this = " + System.identityHashCode(this)); return; diff --git a/config/src/main/java/com/yahoo/vespa/config/benchmark/LoadTester.java b/config/src/main/java/com/yahoo/vespa/config/benchmark/LoadTester.java index 345118b5fd4..5b0f1351ff5 100644 --- a/config/src/main/java/com/yahoo/vespa/config/benchmark/LoadTester.java +++ b/config/src/main/java/com/yahoo/vespa/config/benchmark/LoadTester.java @@ -26,6 +26,7 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; +import java.time.Duration; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -239,7 +240,7 @@ public class LoadTester { System.out.println("# Requesting: " + reqKey); long start = System.nanoTime(); - target.invokeSync(request.getRequest(), 10.0); + target.invokeSync(request.getRequest(), Duration.ofSeconds(10)); long durationInMillis = (System.nanoTime() - start) / 1_000_000; if (request.isError()) { |