summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2019-11-27 13:51:22 +0100
committerMartin Polden <mpolden@mpolden.no>2019-11-27 13:51:22 +0100
commitadc7312adfe1b8b80c9f9cf57362e6d4261346f7 (patch)
tree0e770a04e72ff2d2163b72943d3014d1731b7abb /node-admin
parent84449baedc77f82034c1c2ff404e6636e7b9f90f (diff)
Log request body for failing request
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/ConfigServerApiImpl.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/ConfigServerApiImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/ConfigServerApiImpl.java
index a066375ce5c..a533556bde8 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/ConfigServerApiImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/ConfigServerApiImpl.java
@@ -7,6 +7,7 @@ import com.yahoo.config.provision.HostName;
import com.yahoo.vespa.athenz.identity.ServiceIdentityProvider;
import com.yahoo.vespa.athenz.identity.ServiceIdentitySslSocketFactory;
import com.yahoo.vespa.hosted.node.admin.component.ConfigServerInfo;
+import com.yahoo.yolean.Exceptions;
import org.apache.http.HttpHeaders;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
@@ -26,6 +27,7 @@ import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
+import org.apache.http.util.EntityUtils;
import javax.net.ssl.HostnameVerifier;
import java.io.IOException;
@@ -107,12 +109,14 @@ public class ConfigServerApiImpl implements ConfigServerApi {
private <T> T tryAllConfigServers(CreateRequest requestFactory, Class<T> wantedReturnType) {
Exception lastException = null;
for (URI configServer : configServers) {
- try (CloseableHttpResponse response = client.execute(requestFactory.createRequest(configServer))) {
- HttpException.handleStatusCode(
- response.getStatusLine().getStatusCode(), "Config server " + configServer);
-
+ var request = Exceptions.uncheck(() -> requestFactory.createRequest(configServer));
+ try (CloseableHttpResponse response = client.execute(request)) {
+ var responseBody = EntityUtils.toString(response.getEntity());
+ HttpException.handleStatusCode(response.getStatusLine().getStatusCode(),
+ request.getMethod() + " " + request.getURI() +
+ " failed with response '" + responseBody + "'");
try {
- return mapper.readValue(response.getEntity().getContent(), wantedReturnType);
+ return mapper.readValue(responseBody, wantedReturnType);
} catch (IOException e) {
throw new UncheckedIOException("Failed parse response from config server", e);
}