diff --git a/qa/os/src/test/java/org/elasticsearch/packaging/test/ArchiveTests.java b/qa/os/src/test/java/org/elasticsearch/packaging/test/ArchiveTests.java index 3c17f7ed207..68b02f6311e 100644 --- a/qa/os/src/test/java/org/elasticsearch/packaging/test/ArchiveTests.java +++ b/qa/os/src/test/java/org/elasticsearch/packaging/test/ArchiveTests.java @@ -137,7 +137,16 @@ public class ArchiveTests extends PackagingTestCase { // cleanup from previous test rm(installation.config("elasticsearch.keystore")); - Archives.runElasticsearch(installation, sh); + try { + Archives.runElasticsearch(installation, sh); + } catch (Exception e ){ + if (Files.exists(installation.home.resolve("elasticsearch.pid"))) { + String pid = FileUtils.slurp(installation.home.resolve("elasticsearch.pid")).trim(); + logger.info("Dumping jstack of elasticsearch processb ({}) that failed to start", pid); + sh.runIgnoreExitCode("jstack " + pid); + } + throw e; + } final String gcLogName = Platforms.LINUX && distribution().hasJdk == false ? "gc.log.0.current"