diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2020-01-27 11:38:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-27 11:38:48 +0100 |
commit | 40ac8889856b1999c1647405081ae90a5130497c (patch) | |
tree | a3189eac79d6c724e13d389ce9f8eb21769a3d01 | |
parent | d73934c1b2d53b59b0e2cf546941f1ec704ef5ea (diff) | |
parent | f90d7a4984dd8b5a8fd2b8203a97470f7a56434f (diff) |
Merge pull request #11957 from vespa-engine/bjorncs/retry-on-connection-errors
Bjorncs/retry on connection errors
-rw-r--r-- | controller-server/pom.xml | 7 | ||||
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/systemflags/FlagsClient.java | 5 |
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(); } |