summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2020-11-09 12:19:43 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2020-11-09 16:03:48 +0100
commitbde08ee18a7a381fdf3b6a82b97d58e69db0f483 (patch)
treee30e5449aafcac55d6f87ad00ad05fc41cb6713c
parent4a9579145a299e14640462d351ad201594ab6abb (diff)
Don't reuse connections
Disable connection reuse. Increase max simultaneous connections. Remove default request config.
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java14
1 files changed, 8 insertions, 6 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java
index 1d753627bf9..bdcc9783640 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java
@@ -36,7 +36,6 @@ import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
-import java.util.concurrent.TimeUnit;
import java.util.logging.Logger;
import static com.yahoo.config.model.api.container.ContainerServiceType.CLUSTERCONTROLLER_CONTAINER;
@@ -119,7 +118,10 @@ public class ConfigConvergenceChecker extends AbstractComponent {
}
}
- /** Gets service generation for a list of services (in parallel). */
+ /**
+ * Gets service generation for a list of services (in parallel).
+ * This should ideally be implemented using an async http client
+ * */
private Map<ServiceInfo, Long> getServiceGenerations(List<ServiceInfo> services, Duration timeout) {
List<Callable<ServiceInfoWithGeneration>> tasks = services.stream()
.map(service ->
@@ -153,6 +155,7 @@ public class ConfigConvergenceChecker extends AbstractComponent {
/** Get service generation of service at given URL */
private long getServiceGeneration(URI serviceUrl, Duration timeout) throws IOException, NonSuccessStatusCodeException {
HttpGet request = new HttpGet(createApiUri(serviceUrl));
+ request.addHeader("Connection", "close");
request.setConfig(createRequestConfig(timeout));
try (CloseableHttpResponse response = httpClient.execute(request)) {
int statusCode = response.getStatusLine().getStatusCode();
@@ -214,10 +217,9 @@ public class ConfigConvergenceChecker extends AbstractComponent {
return VespaHttpClientBuilder
.create()
.setUserAgent("config-convergence-checker")
- .setConnectionTimeToLive(20, TimeUnit.SECONDS)
- .setMaxConnPerRoute(4)
- .setMaxConnTotal(100)
- .setDefaultRequestConfig(createRequestConfig(Duration.ofSeconds(10)))
+ .setMaxConnPerRoute(10)
+ .setMaxConnTotal(400)
+ .setConnectionReuseStrategy((response, context) -> false) // Disable connection reuse
.build();
}