diff options
author | Valerij Fredriksen <valerijf@oath.com> | 2018-08-08 14:37:16 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@oath.com> | 2018-08-08 14:37:16 +0200 |
commit | aed644b394a045b462ff94e4d4881e8e6e94c459 (patch) | |
tree | 00359c3905e047ca387a88a399dbb4e09cc8c901 /node-admin | |
parent | 5f781434e0e744fb97d0d54c8dfc25efe0cbcc8a (diff) |
Make it possible to set Header Supplier to core dump reportert
Diffstat (limited to 'node-admin')
2 files changed, 10 insertions, 5 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java index 7cfc6a78944..e063425e4ae 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java @@ -3,7 +3,8 @@ package com.yahoo.vespa.hosted.node.admin.maintenance.coredump; import com.fasterxml.jackson.databind.ObjectMapper; import com.yahoo.system.ProcessExecuter; -import com.yahoo.vespa.hosted.node.admin.maintenance.FileHelper; +import com.yahoo.vespa.hosted.node.maintainer.FileHelper; +import org.apache.http.Header; import org.apache.http.HttpHeaders; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; @@ -25,6 +26,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Optional; import java.util.UUID; +import java.util.function.Supplier; import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -46,18 +48,20 @@ public class CoredumpHandler { private final CoreCollector coreCollector; private final Path doneCoredumpsPath; private final URI feedEndpoint; + private final Optional<Supplier<Header>> requestHeaderSupplier; CoredumpHandler(HttpClient httpClient, CoreCollector coreCollector, Path doneCoredumpsPath, - URI feedEndpoint) { + URI feedEndpoint, Optional<Supplier<Header>> requestHeaderSupplier) { this.httpClient = httpClient; this.coreCollector = coreCollector; this.doneCoredumpsPath = doneCoredumpsPath; this.feedEndpoint = feedEndpoint; + this.requestHeaderSupplier = requestHeaderSupplier; } - public CoredumpHandler(Path doneCoredumpsPath, URI feedEndpoint) { + public CoredumpHandler(Path doneCoredumpsPath, URI feedEndpoint, Optional<Supplier<Header>> requestHeaderSupplier) { this(createHttpClient(Duration.ofSeconds(5)), new CoreCollector(new ProcessExecuter()), - doneCoredumpsPath, feedEndpoint); + doneCoredumpsPath, feedEndpoint, requestHeaderSupplier); } public void processAll(Path coredumpsPath, Map<String, Object> nodeAttributes) throws IOException { @@ -157,6 +161,7 @@ public class CoredumpHandler { HttpPost post = new HttpPost(feedEndpoint + "/" + documentId); post.setHeader(HttpHeaders.CONTENT_TYPE, "application/json"); post.setEntity(new StringEntity(metadata)); + requestHeaderSupplier.map(Supplier::get).ifPresent(post::addHeader); HttpResponse response = httpClient.execute(post); if (response.getStatusLine().getStatusCode() / 100 != 2) { diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandlerTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandlerTest.java index b3cbdf56219..54787108e64 100644 --- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandlerTest.java +++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandlerTest.java @@ -80,7 +80,7 @@ public class CoredumpHandlerTest { crashPath = folder.newFolder("crash").toPath(); donePath = folder.newFolder("done").toPath(); - coredumpHandler = new CoredumpHandler(httpClient, coreCollector, donePath, feedEndpoint); + coredumpHandler = new CoredumpHandler(httpClient, coreCollector, donePath, feedEndpoint, Optional.empty()); } @Test |