summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2020-01-27 11:38:48 +0100
committerGitHub <noreply@github.com>2020-01-27 11:38:48 +0100
commit40ac8889856b1999c1647405081ae90a5130497c (patch)
treea3189eac79d6c724e13d389ce9f8eb21769a3d01
parentd73934c1b2d53b59b0e2cf546941f1ec704ef5ea (diff)
parentf90d7a4984dd8b5a8fd2b8203a97470f7a56434f (diff)
Merge pull request #11957 from vespa-engine/bjorncs/retry-on-connection-errors
Bjorncs/retry on connection errors
-rw-r--r--controller-server/pom.xml7
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/systemflags/FlagsClient.java5
2 files changed, 12 insertions, 0 deletions
diff --git a/controller-server/pom.xml b/controller-server/pom.xml
index 0c545020449..158c1b5cd39 100644
--- a/controller-server/pom.xml
+++ b/controller-server/pom.xml
@@ -144,6 +144,13 @@
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>com.yahoo.vespa</groupId>
+ <artifactId>http-utils</artifactId>
+ <version>${project.version}</version>
+ <scope>compile</scope>
+ </dependency>
+
<!-- test -->
<dependency>
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/systemflags/FlagsClient.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/systemflags/FlagsClient.java
index 5cd6b32d572..992d0754cc5 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/systemflags/FlagsClient.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/systemflags/FlagsClient.java
@@ -1,6 +1,7 @@
// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.restapi.systemflags;
+import ai.vespa.util.http.retry.DelayedHttpRequestRetryHandler;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yahoo.vespa.athenz.api.AthenzIdentity;
import com.yahoo.vespa.athenz.identity.ServiceIdentityProvider;
@@ -84,6 +85,9 @@ class FlagsClient {
private static CloseableHttpClient createClient(ServiceIdentityProvider identityProvider, Set<FlagsTarget> targets) {
+ DelayedHttpRequestRetryHandler retryHandler = DelayedHttpRequestRetryHandler.Builder
+ .withExponentialBackoff(Duration.ofSeconds(1), Duration.ofSeconds(20), 5)
+ .build();
return HttpClientBuilder.create()
.setUserAgent("controller-flags-v1-client")
.setRetryHandler(new DefaultHttpRequestRetryHandler(5, /*retry on non-idempotent requests*/true))
@@ -96,6 +100,7 @@ class FlagsClient {
.build())
.setMaxConnPerRoute(2)
.setMaxConnTotal(100)
+ .setRetryHandler(retryHandler)
.build();
}