浏览代码

Create a thread dump if ES fails to start in packaging tests (#48932)

Relates to #15385.
Hoping to get some insight on CI failures.
Alpar Torok 6 年之前
父节点
当前提交
77da9c9b1a
共有 1 个文件被更改,包括 10 次插入1 次删除
  1. 10 1
      qa/os/src/test/java/org/elasticsearch/packaging/test/ArchiveTests.java

+ 10 - 1
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;
+        }
 
         assertTrue("gc logs exist", Files.exists(installation.logs.resolve("gc.log")));
         ServerUtils.runElasticsearchTests();