summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-04-12 11:50:07 +0200
committerJon Marius Venstad <venstad@gmail.com>2021-04-12 12:13:36 +0200
commit19a436282c7b3d170091ad0046f0ea5a0715e882 (patch)
tree4df144d7459a3fe7d57ecd03c027d92c1781648a /configserver
parenta48007cd102749c30a5662d751dff5d4bae76d06 (diff)
Close response after reading its body >_<
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/LogRetriever.java4
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/ProxyResponse.java10
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/SecretStoreValidator.java4
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/TesterClient.java4
4 files changed, 13 insertions, 9 deletions
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 42430cb7800..047953e4d4e 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
@@ -19,8 +19,8 @@ public class LogRetriever {
public HttpResponse getLogs(String logServerHostname) {
HttpGet get = new HttpGet(logServerHostname);
- try (CloseableHttpResponse response = httpClient.execute(get)) {
- return new ProxyResponse(response);
+ try {
+ return new ProxyResponse(httpClient.execute(get));
} catch (IOException e) {
return HttpErrorResponse.internalServerError("Failed to get logs: " + Exceptions.toMessageString(e));
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/ProxyResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/ProxyResponse.java
index 9dc26f3a601..120790da3af 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/ProxyResponse.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/ProxyResponse.java
@@ -3,6 +3,7 @@ package com.yahoo.vespa.config.server.http;
import com.yahoo.container.jdisc.HttpResponse;
import org.apache.http.Header;
+import org.apache.http.client.methods.CloseableHttpResponse;
import java.io.IOException;
import java.io.OutputStream;
@@ -16,9 +17,9 @@ import java.util.Optional;
*/
class ProxyResponse extends HttpResponse {
- private final org.apache.http.HttpResponse clientResponse;
+ private final CloseableHttpResponse clientResponse;
- ProxyResponse(org.apache.http.HttpResponse clientResponse) {
+ ProxyResponse(CloseableHttpResponse clientResponse) {
super(clientResponse.getStatusLine().getStatusCode());
this.clientResponse = clientResponse;
}
@@ -32,6 +33,9 @@ class ProxyResponse extends HttpResponse {
@Override
public void render(OutputStream outputStream) throws IOException {
- clientResponse.getEntity().writeTo(outputStream);
+ try (clientResponse) {
+ clientResponse.getEntity().writeTo(outputStream);
+ }
}
+
}
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 cf4ecc4d53c..6b888014051 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
@@ -63,8 +63,8 @@ public class SecretStoreValidator {
var data = uncheck(() -> SlimeUtils.toJsonBytes(slime));
var entity = new ByteArrayEntity(data);
postRequest.setEntity(entity);
- try (CloseableHttpResponse response = httpClient.execute(postRequest)) {
- return new ProxyResponse(response);
+ try {
+ return new ProxyResponse(httpClient.execute(postRequest));
} catch (IOException e) {
return HttpErrorResponse.internalServerError(
String.format("Failed to post request to %s: %s", uri, Exceptions.toMessageString(e))
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 6dce7a3eccb..4292a0806c2 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
@@ -66,8 +66,8 @@ public class TesterClient {
private HttpResponse execute(HttpUriRequest request, String messageIfRequestFails) {
logger.log(Level.FINE, "Sending request to tester container " + request.getURI().toString());
- try (CloseableHttpResponse response = httpClient.execute(request)) {
- return new ProxyResponse(response);
+ try {
+ return new ProxyResponse(httpClient.execute(request));
} catch (IOException e) {
logger.warning(messageIfRequestFails + ": " + Exceptions.toMessageString(e));
return HttpErrorResponse.internalServerError(Exceptions.toMessageString(e));