summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2019-03-22 18:16:33 +0100
committerGitHub <noreply@github.com>2019-03-22 18:16:33 +0100
commit125c97eedfa07ab3d5c32bc775e5bb50b3feebd3 (patch)
tree523592ac614c4c5ea8dfdc4abb06d07faae3f87e /configserver
parentfc3480d5b44d893f3973c1044b169be8cce32dbf (diff)
parent8d6ad1a22337a8232ce5b6dcd22f817a290fa66c (diff)
Merge pull request #8865 from vespa-engine/hmusum/do-rpc-call-asnychronously-and-with-higher-timeout
Do RPC call asynchronously and with higher timeout
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionImpl.java15
1 files changed, 8 insertions, 7 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionImpl.java
index 36d76bbfc79..be82d3950a5 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionImpl.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDistributionImpl.java
@@ -4,7 +4,6 @@ package com.yahoo.vespa.config.server.filedistribution;
import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.config.FileReference;
import com.yahoo.config.model.api.FileDistribution;
-import com.yahoo.jrt.ErrorCode;
import com.yahoo.jrt.Request;
import com.yahoo.jrt.Spec;
import com.yahoo.jrt.StringArray;
@@ -45,14 +44,16 @@ public class FileDistributionImpl implements FileDistribution {
// as downloading will then start synchronously when a service requests a file reference instead
private void startDownloadingFileReferences(String hostName, int port, Set<FileReference> fileReferences) {
Target target = supervisor.connect(new Spec(hostName, port));
- double timeout = 0.1;
+ double timeout = 0.5;
Request request = new Request("filedistribution.setFileReferencesToDownload");
request.parameters().add(new StringArray(fileReferences.stream().map(FileReference::value).toArray(String[]::new)));
log.log(LogLevel.DEBUG, "Executing " + request.methodName() + " against " + target.toString());
- target.invokeSync(request, timeout);
- if (request.isError() && request.errorCode() != ErrorCode.CONNECTION) {
- log.log(LogLevel.DEBUG, request.methodName() + " failed: " + request.errorCode() + " (" + request.errorMessage() + ")");
- }
- target.close();
+ target.invokeAsync(request, timeout, (req) -> {
+ if (req.isError()) {
+ log.log(LogLevel.DEBUG, req.methodName() + " failed: " + req.errorCode() + " (" + req.errorMessage() + ")");
+ }
+ req.target().close();
+ });
}
+
}