diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-01-04 07:59:31 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2023-01-25 10:48:38 +0100 |
commit | dd05e4b94d67b481c241cfa20ccf0e481dcb0bd7 (patch) | |
tree | d48af28cb2c6651f6a7424d599dfeb1610b8c931 | |
parent | db01dd9ebc4f63acc71d4ef9b015db4133a5de6d (diff) |
Bump apache httpclient from 5.1 to 5.2.
22 files changed, 50 insertions, 34 deletions
diff --git a/cloud-tenant-base-dependencies-enforcer/pom.xml b/cloud-tenant-base-dependencies-enforcer/pom.xml index abd1a7629f7..6f17520dbb5 100644 --- a/cloud-tenant-base-dependencies-enforcer/pom.xml +++ b/cloud-tenant-base-dependencies-enforcer/pom.xml @@ -24,8 +24,8 @@ <bouncycastle.version>1.72</bouncycastle.version> <commons-codec.version>1.15</commons-codec.version> <felix.version>7.0.1</felix.version> - <httpclient5.version>5.1.4</httpclient5.version> - <httpcore5.version>5.1.5</httpcore5.version> + <httpclient5.version>5.2.1</httpclient5.version> + <httpcore5.version>5.2</httpcore5.version> <httpclient.version>4.5.14</httpclient.version> <httpcore.version>4.4.16</httpcore.version> <junit5.version>5.8.1</junit5.version> <!-- TODO: in parent this is named 'junit.version' --> 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 b7b509c899c..4e02964fa58 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 @@ -280,6 +280,7 @@ public class ConfigConvergenceChecker extends AbstractComponent { } } + @SuppressWarnings("deprecation") private static RequestConfig createRequestConfig(Duration timeout) { return RequestConfig.custom() .setConnectionRequestTimeout(Timeout.ofSeconds(1)) @@ -288,6 +289,7 @@ public class ConfigConvergenceChecker extends AbstractComponent { .build(); } + @SuppressWarnings("deprecation") private static CloseableHttpAsyncClient createHttpClient() { return VespaAsyncHttpClientBuilder .create(tlsStrategy -> diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/DefaultClusterReindexingStatusClient.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/DefaultClusterReindexingStatusClient.java index b2672f7ad85..89c57dd6e0e 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/DefaultClusterReindexingStatusClient.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/DefaultClusterReindexingStatusClient.java @@ -146,6 +146,7 @@ public class DefaultClusterReindexingStatusClient implements ClusterReindexingSt } + @SuppressWarnings("deprecation") private static CloseableHttpAsyncClient createHttpClient() { return VespaAsyncHttpClientBuilder .create() diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/LogRetriever.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/LogRetriever.java index 3be99ab8393..17a3b186beb 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/LogRetriever.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/LogRetriever.java @@ -20,6 +20,7 @@ public class LogRetriever { private final CloseableHttpClient httpClient = VespaHttpClientBuilder.create().build(); + @SuppressWarnings("deprecation") public HttpResponse getLogs(String logServerUri, Optional<Instant> deployTime) { HttpGet get = new HttpGet(logServerUri); try { diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/SecretStoreValidator.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/SecretStoreValidator.java index 17f33e477ec..78fdf0a4a02 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/SecretStoreValidator.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/SecretStoreValidator.java @@ -58,6 +58,7 @@ public class SecretStoreValidator { return URI.create(PROTOCOL + hostname + AWS_PARAMETER_VALIDATION_HANDLER_POSTFIX); } + @SuppressWarnings("deprecation") private HttpResponse postRequest(URI uri, Slime slime) { var postRequest = new HttpPost(uri); var data = uncheck(() -> SlimeUtils.toJsonBytes(slime)); diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/SimpleHttpFetcher.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/SimpleHttpFetcher.java index a8dfe3700e7..da4e5d24c48 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/SimpleHttpFetcher.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/SimpleHttpFetcher.java @@ -34,6 +34,7 @@ public class SimpleHttpFetcher implements HttpFetcher { } @Override + @SuppressWarnings("deprecation") public HttpResponse get(Params params, URI url) { try { HttpGet request = new HttpGet(url); diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/TesterClient.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/TesterClient.java index 69bccfe788d..4b339f72fa6 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/TesterClient.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/TesterClient.java @@ -64,6 +64,7 @@ public class TesterClient { return execute(new HttpGet(testerUri), "Failed to get test report"); } + @SuppressWarnings("deprecation") private HttpResponse execute(HttpUriRequest request, String messageIfRequestFails) { logger.log(Level.FINE, () -> "Sending request to tester container " + request.getRequestUri()); try { diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/metrics/ClusterDeploymentMetricsRetriever.java b/configserver/src/main/java/com/yahoo/vespa/config/server/metrics/ClusterDeploymentMetricsRetriever.java index 98f01bada3f..548ea8046d4 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/metrics/ClusterDeploymentMetricsRetriever.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/metrics/ClusterDeploymentMetricsRetriever.java @@ -55,6 +55,7 @@ public class ClusterDeploymentMetricsRetriever { private static final ExecutorService executor = Executors.newFixedThreadPool(10, new DaemonThreadFactory("cluster-deployment-metrics-retriever-")); + @SuppressWarnings("deprecation") private static final CloseableHttpClient httpClient = VespaHttpClientBuilder .create(registry -> new PoolingHttpClientConnectionManager(registry, @@ -128,7 +129,7 @@ public class ClusterDeploymentMetricsRetriever { Supplier<DeploymentMetricsAggregator> aggregator = () -> clusterMetricsMap.computeIfAbsent(clusterInfo, c -> new DeploymentMetricsAggregator()); switch (serviceName) { - case VESPA_CONTAINER: + case VESPA_CONTAINER -> { optionalDouble(values.field("query_latency.sum")).ifPresent(qlSum -> aggregator.get() .addContainerLatency(qlSum, values.field("query_latency.count").asDouble())); @@ -160,6 +161,7 @@ public class ClusterDeploymentMetricsRetriever { return new ClusterInfo(dimensions.field("clusterid").asString(), dimensions.field("clustertype").asString()); } + @SuppressWarnings("deprecation") private static Slime doMetricsRequest(URI hostURI) { HttpGet get = new HttpGet(hostURI); try (CloseableHttpResponse response = httpClient.execute(get)) { diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/metrics/ClusterProtonMetricsRetriever.java b/configserver/src/main/java/com/yahoo/vespa/config/server/metrics/ClusterProtonMetricsRetriever.java index d6fde04cd71..0dbe0131e9b 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/metrics/ClusterProtonMetricsRetriever.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/metrics/ClusterProtonMetricsRetriever.java @@ -27,6 +27,7 @@ public class ClusterProtonMetricsRetriever { private static final Logger log = Logger.getLogger(ClusterProtonMetricsRetriever.class.getName()); + @SuppressWarnings("deprecation") private static final CloseableHttpClient httpClient = VespaHttpClientBuilder .create(PoolingHttpClientConnectionManager::new) .setDefaultRequestConfig( @@ -100,6 +101,7 @@ public class ClusterProtonMetricsRetriever { aggregator.addAll(metrics.field("values")); } + @SuppressWarnings("deprecation") private static Slime doMetricsRequest(URI hostURI) { HttpGet get = new HttpGet(hostURI); try (CloseableHttpResponse response = httpClient.execute(get)) { diff --git a/container-core/src/main/java/com/yahoo/container/handler/metrics/MetricsV2Handler.java b/container-core/src/main/java/com/yahoo/container/handler/metrics/MetricsV2Handler.java index b3a2205cc0a..4a74d841ce2 100644 --- a/container-core/src/main/java/com/yahoo/container/handler/metrics/MetricsV2Handler.java +++ b/container-core/src/main/java/com/yahoo/container/handler/metrics/MetricsV2Handler.java @@ -61,6 +61,7 @@ public class MetricsV2Handler extends HttpHandlerBase { } } + @SuppressWarnings("deprecation") private static CloseableHttpClient createHttpClient() { return VespaHttpClientBuilder.create() .setUserAgent("application-metrics-retriever") diff --git a/container-core/src/main/java/com/yahoo/container/handler/metrics/PrometheusV1Handler.java b/container-core/src/main/java/com/yahoo/container/handler/metrics/PrometheusV1Handler.java index 3333b3e3090..f830a55e940 100644 --- a/container-core/src/main/java/com/yahoo/container/handler/metrics/PrometheusV1Handler.java +++ b/container-core/src/main/java/com/yahoo/container/handler/metrics/PrometheusV1Handler.java @@ -62,6 +62,7 @@ public class PrometheusV1Handler extends HttpHandlerBase { } } + @SuppressWarnings("deprecation") private static CloseableHttpClient createHttpClient() { return VespaHttpClientBuilder.create() .setUserAgent("application-prometheus-receiver") diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/SimpleHttpClient.java b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/SimpleHttpClient.java index 298f0feb9e6..39f3c7154f3 100644 --- a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/SimpleHttpClient.java +++ b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/SimpleHttpClient.java @@ -158,6 +158,7 @@ public class SimpleHttpClient implements AutoCloseable { return this; } + @SuppressWarnings("deprecation") public ResponseValidator execute() throws IOException { if (entity != null) { request.setEntity(entity); diff --git a/http-client/src/main/java/ai/vespa/hosted/client/AbstractHttpClient.java b/http-client/src/main/java/ai/vespa/hosted/client/AbstractHttpClient.java index 48bbffc7e37..c62be40f1db 100644 --- a/http-client/src/main/java/ai/vespa/hosted/client/AbstractHttpClient.java +++ b/http-client/src/main/java/ai/vespa/hosted/client/AbstractHttpClient.java @@ -36,7 +36,6 @@ import java.util.logging.Logger; import static java.util.Objects.requireNonNull; import static java.util.logging.Level.FINE; -import static java.util.logging.Level.WARNING; /** * @author jonmv @@ -48,6 +47,7 @@ public abstract class AbstractHttpClient implements HttpClient { public static HttpClient wrapping(CloseableHttpClient client) { return new AbstractHttpClient() { @Override + @SuppressWarnings("deprecation") protected ClassicHttpResponse execute(ClassicHttpRequest request, HttpClientContext context) throws IOException { return client.execute(request, context); } @@ -114,6 +114,7 @@ public abstract class AbstractHttpClient implements HttpClient { throw new IllegalStateException("No hosts to perform the request against"); } + @SuppressWarnings("deprecation") private HttpClientContext contextWithTimeout(RequestBuilder builder) { HttpClientContext context = HttpClientContext.create(); RequestConfig config = builder.config; diff --git a/http-client/src/main/java/ai/vespa/hosted/client/HttpClient.java b/http-client/src/main/java/ai/vespa/hosted/client/HttpClient.java index 10ef20980e6..fadffef2a87 100644 --- a/http-client/src/main/java/ai/vespa/hosted/client/HttpClient.java +++ b/http-client/src/main/java/ai/vespa/hosted/client/HttpClient.java @@ -36,6 +36,7 @@ import static java.util.Objects.requireNonNull; */ public interface HttpClient extends Closeable { + @SuppressWarnings("deprecation") RequestConfig defaultRequestConfig = RequestConfig.custom() .setConnectionRequestTimeout(Timeout.ofSeconds(5)) .setConnectTimeout(Timeout.ofSeconds(5)) diff --git a/http-utils/src/main/java/ai/vespa/util/http/hc5/HttpToHttpsRoutePlanner.java b/http-utils/src/main/java/ai/vespa/util/http/hc5/HttpToHttpsRoutePlanner.java index 962e6b32947..8275098cb8d 100644 --- a/http-utils/src/main/java/ai/vespa/util/http/hc5/HttpToHttpsRoutePlanner.java +++ b/http-utils/src/main/java/ai/vespa/util/http/hc5/HttpToHttpsRoutePlanner.java @@ -4,7 +4,6 @@ package ai.vespa.util.http.hc5; import org.apache.hc.client5.http.HttpRoute; import org.apache.hc.client5.http.protocol.HttpClientContext; import org.apache.hc.client5.http.routing.HttpRoutePlanner; -import org.apache.hc.core5.http.HttpException; import org.apache.hc.core5.http.HttpHost; import org.apache.hc.core5.http.protocol.HttpContext; @@ -16,8 +15,9 @@ import org.apache.hc.core5.http.protocol.HttpContext; */ class HttpToHttpsRoutePlanner implements HttpRoutePlanner { + @SuppressWarnings("deprecation") @Override - public HttpRoute determineRoute(HttpHost target, HttpContext context) throws HttpException { + public HttpRoute determineRoute(HttpHost target, HttpContext context) { if ( ! target.getSchemeName().equals("http") && ! target.getSchemeName().equals("https")) throw new IllegalArgumentException("Scheme must be 'http' or 'https' when using HttpToHttpsRoutePlanner, was '" + target.getSchemeName() + "'"); diff --git a/http-utils/src/test/java/ai/vespa/util/http/hc5/HttpToHttpsRoutePlannerTest.java b/http-utils/src/test/java/ai/vespa/util/http/hc5/HttpToHttpsRoutePlannerTest.java index b20d801e39c..9f56f7ebc09 100644 --- a/http-utils/src/test/java/ai/vespa/util/http/hc5/HttpToHttpsRoutePlannerTest.java +++ b/http-utils/src/test/java/ai/vespa/util/http/hc5/HttpToHttpsRoutePlannerTest.java @@ -4,7 +4,6 @@ package ai.vespa.util.http.hc5; import org.apache.hc.client5.http.HttpRoute; import org.apache.hc.client5.http.config.RequestConfig; import org.apache.hc.client5.http.protocol.HttpClientContext; -import org.apache.hc.core5.http.HttpException; import org.apache.hc.core5.http.HttpHost; import org.junit.jupiter.api.Test; @@ -18,7 +17,7 @@ public class HttpToHttpsRoutePlannerTest { final HttpToHttpsRoutePlanner planner = new HttpToHttpsRoutePlanner(); @Test - void verifySchemeMustBeHttp() throws HttpException { + void verifySchemeMustBeHttp() { try { planner.determineRoute(new HttpHost("https", "host", 1), new HttpClientContext()); } @@ -28,7 +27,7 @@ public class HttpToHttpsRoutePlannerTest { } @Test - void verifyPortMustBeSet() throws HttpException { + void verifyPortMustBeSet() { try { planner.determineRoute(new HttpHost("http", "host", -1), new HttpClientContext()); } @@ -39,7 +38,8 @@ public class HttpToHttpsRoutePlannerTest { @Test - void verifyProxyIsDisallowed() throws HttpException { + @SuppressWarnings("deprecation") + void verifyProxyIsDisallowed() { HttpClientContext context = new HttpClientContext(); context.setRequestConfig(RequestConfig.custom().setProxy(new HttpHost("proxy")).build()); try { @@ -51,7 +51,7 @@ public class HttpToHttpsRoutePlannerTest { } @Test - void verifySchemeIsRewritten() throws HttpException { + void verifySchemeIsRewritten() { assertEquals(new HttpRoute(new HttpHost("https", "host", 1)), planner.determineRoute(new HttpHost("http", "host", 1), new HttpClientContext())); } diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetriever.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetriever.java index d4f04cdb3fc..3baed3e1b04 100644 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetriever.java +++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/application/ApplicationMetricsRetriever.java @@ -28,7 +28,6 @@ import java.util.concurrent.TimeoutException; import java.util.concurrent.CancellationException; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import static ai.vespa.metricsproxy.http.ValuesFetcher.defaultMetricsConsumerId; @@ -188,6 +187,7 @@ public class ApplicationMetricsRetriever extends AbstractComponent implements Ru .toList(); } + @SuppressWarnings("deprecation") static CloseableHttpAsyncClient createHttpClient() { return VespaAsyncHttpClientBuilder.create() .setIOReactorConfig(IOReactorConfig.custom() diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/HttpMetricFetcher.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/HttpMetricFetcher.java index 790b3298a81..f766bebe4a2 100644 --- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/HttpMetricFetcher.java +++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/service/HttpMetricFetcher.java @@ -46,6 +46,7 @@ public abstract class HttpMetricFetcher { log.log(Level.FINE, () -> "Fetching metrics from " + u + " with timeout " + CONNECTION_TIMEOUT); } + @SuppressWarnings("deprecation") CloseableHttpResponse getResponse() throws IOException { log.log(Level.FINE, () -> "Connecting to url " + url + " for service '" + service + "'"); return httpClient.execute(new HttpGet(url)); @@ -80,6 +81,7 @@ public abstract class HttpMetricFetcher { } } + @SuppressWarnings("deprecation") private static CloseableHttpClient createHttpClient() { return VespaHttpClientBuilder.create(registry -> { var mgr = new PoolingHttpClientConnectionManager(registry); diff --git a/parent/pom.xml b/parent/pom.xml index 925b5e027c1..c0f2efd657f 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -1097,8 +1097,8 @@ <antlr4.version>4.9.3</antlr4.version> <apache.httpclient.version>4.5.14</apache.httpclient.version> <apache.httpcore.version>4.4.16</apache.httpcore.version> - <apache.httpclient5.version>5.1.4</apache.httpclient5.version> <!-- WARNING: sync cloud-tenant-base-dependencies-enforcer/pom.xml --> - <apache.httpcore5.version>5.1.5</apache.httpcore5.version> <!-- WARNING: sync cloud-tenant-base-dependencies-enforcer/pom.xml --> + <apache.httpclient5.version>5.2.1</apache.httpclient5.version> <!-- WARNING: sync cloud-tenant-base-dependencies-enforcer/pom.xml --> + <apache.httpcore5.version>5.2</apache.httpcore5.version> <!-- WARNING: sync cloud-tenant-base-dependencies-enforcer/pom.xml --> <asm.version>9.3</asm.version> <!-- Athenz dependencies. Make sure these dependencies match those in Vespa's internal repositories --> diff --git a/vespa-dependencies-enforcer/allowed-maven-dependencies.txt b/vespa-dependencies-enforcer/allowed-maven-dependencies.txt index f35630dab93..861f124a937 100644 --- a/vespa-dependencies-enforcer/allowed-maven-dependencies.txt +++ b/vespa-dependencies-enforcer/allowed-maven-dependencies.txt @@ -97,9 +97,9 @@ org.apache.felix:org.apache.felix.log:1.0.1 org.apache.httpcomponents:httpclient:4.5.14 org.apache.httpcomponents:httpcore:4.4.16 org.apache.httpcomponents:httpmime:4.5.14 -org.apache.httpcomponents.client5:httpclient5:5.1.4 -org.apache.httpcomponents.core5:httpcore5:5.1.5 -org.apache.httpcomponents.core5:httpcore5-h2:5.1.5 +org.apache.httpcomponents.client5:httpclient5:5.2.1 +org.apache.httpcomponents.core5:httpcore5:5.2 +org.apache.httpcomponents.core5:httpcore5-h2:5.2 org.apache.maven:maven-archiver:3.6.0 org.apache.maven:maven-artifact:3.8.6 org.apache.maven:maven-artifact-manager:2.2.1 diff --git a/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/ApacheCluster.java b/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/ApacheCluster.java index 593d93ffe20..3192bb4f225 100644 --- a/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/ApacheCluster.java +++ b/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/ApacheCluster.java @@ -159,6 +159,7 @@ class ApacheCluster implements Cluster { } + @SuppressWarnings("deprecation") private static CloseableHttpAsyncClient createHttpClient(FeedClientBuilderImpl builder) throws IOException { SSLContext sslContext = builder.constructSslContext(); String[] allowedCiphers = excludeH2Blacklisted(excludeWeak(sslContext.getSupportedSSLParameters().getCipherSuites())); @@ -191,6 +192,7 @@ class ApacheCluster implements Cluster { : url.getPort(); } + @SuppressWarnings("deprecation") private static RequestConfig createRequestConfig(FeedClientBuilderImpl b) { RequestConfig.Builder builder = RequestConfig.custom() .setConnectTimeout(Timeout.ofSeconds(10)) diff --git a/vespaclient-java/src/main/java/com/yahoo/vespa/filedistribution/status/FileDistributionStatusClient.java b/vespaclient-java/src/main/java/com/yahoo/vespa/filedistribution/status/FileDistributionStatusClient.java index a9bbfafeaf0..eb26fdaaccc 100644 --- a/vespaclient-java/src/main/java/com/yahoo/vespa/filedistribution/status/FileDistributionStatusClient.java +++ b/vespaclient-java/src/main/java/com/yahoo/vespa/filedistribution/status/FileDistributionStatusClient.java @@ -71,6 +71,7 @@ public class FileDistributionStatusClient { System.out.println(parseAndGenerateOutput(json)); } + @SuppressWarnings("deprecation") private String doHttpRequest() { Timeout timeoutInMillis = Timeout.ofMilliseconds((long) (timeout * 1000)); RequestConfig config = custom() @@ -78,11 +79,10 @@ public class FileDistributionStatusClient { .setConnectionRequestTimeout(timeoutInMillis) .setResponseTimeout(timeoutInMillis) .build(); - CloseableHttpClient httpClient = VespaHttpClientBuilder.create().build(); - URI statusUri = createStatusApiUri(); - if (debug) - System.out.println("URI:" + statusUri); - try { + try (CloseableHttpClient httpClient = VespaHttpClientBuilder.create().build()) { + URI statusUri = createStatusApiUri(); + if (debug) + System.out.println("URI:" + statusUri); HttpGet request = new HttpGet(statusUri); request.addHeader("Connection", "Close"); request.setConfig(config); @@ -95,7 +95,7 @@ public class FileDistributionStatusClient { return content; } else { throw new RuntimeException("Failed to get status for request " + statusUri + ": " + - response.getCode() + ": " + content); + response.getCode() + ": " + content); } } catch (IOException | ParseException e) { throw new RuntimeException(e); @@ -111,16 +111,12 @@ public class FileDistributionStatusClient { throw new RuntimeException(e); } String status = jsonNode.get("status").asText(); - switch (status) { - case statusUnknown: - return "File distribution status unknown: " + jsonNode.get("message").asText(); - case statusInProgress: - return "File distribution in progress:\n" + inProgressOutput(jsonNode.get("hosts")); - case statusFinished: - return "File distribution finished"; - default: - throw new RuntimeException("Unknown status " + status); - } + return switch (status) { + case statusUnknown -> "File distribution status unknown: " + jsonNode.get("message").asText(); + case statusInProgress -> "File distribution in progress:\n" + inProgressOutput(jsonNode.get("hosts")); + case statusFinished -> "File distribution finished"; + default -> throw new RuntimeException("Unknown status " + status); + }; } private URI createStatusApiUri() { @@ -158,7 +154,7 @@ public class FileDistributionStatusClient { finished++; } } - sb.append(" (" + finished + " of " + fileReferencesArray.size() + " finished)"); + sb.append(" (").append(finished).append(" of ").append(fileReferencesArray.size()).append(" finished)"); break; case statusFinished: break; // Nothing to add |