From f90d7a4984dd8b5a8fd2b8203a97470f7a56434f Mon Sep 17 00:00:00 2001 From: Bjørn Christian Seime Date: Fri, 24 Jan 2020 12:32:44 +0100 Subject: Use DelayedHttpRequestRetryHandler in FlagsClient Retry http requests on connection related failures --- .../vespa/hosted/controller/restapi/systemflags/FlagsClient.java | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'controller-server') 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 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(); } -- cgit v1.2.3