Jenkins 对 hung maven surefire 测试进行了线程抽取
Jenkins take a threadump of hung maven surefire tests
有时,由于竞争或死锁,我的 maven surefire 测试挂起。
发生这种情况时,我必须发现正在使用哪个从属,然后我必须登录那个从属,sudo 到 jenkins 帐户并执行 jstack 或 kill -3
我正在寻找一个简单的解决方案,例如在有人按下 jenkins 上的中止按钮时执行 jstack / kill -3。
有人可以建议我如何自动执行此操作或更好的处理方法吗?
这已在 maven email group 中详细讨论。最后,我采纳了以下建议,并通过 @Rule
在我的所有测试 类 中添加了超时
Hi, you can create a simple Listener like this one:
https://github.com/apache/bookkeeper/blob/master/bookkeeper-common/src/test/java/org/apache/bookkeeper/common/testing/util/TimedOutTestsListener.java
check on the pom.xml file about how to enable it:
https://github.com/apache/bookkeeper/blob/2f996dcf0159f945f7ec97ce7402e5d293009444/bookkeeper-server/pom.xml#L212
hope that helps
Enrico
有时,由于竞争或死锁,我的 maven surefire 测试挂起。
发生这种情况时,我必须发现正在使用哪个从属,然后我必须登录那个从属,sudo 到 jenkins 帐户并执行 jstack 或 kill -3
我正在寻找一个简单的解决方案,例如在有人按下 jenkins 上的中止按钮时执行 jstack / kill -3。
有人可以建议我如何自动执行此操作或更好的处理方法吗?
这已在 maven email group 中详细讨论。最后,我采纳了以下建议,并通过 @Rule
Hi, you can create a simple Listener like this one: https://github.com/apache/bookkeeper/blob/master/bookkeeper-common/src/test/java/org/apache/bookkeeper/common/testing/util/TimedOutTestsListener.java
check on the pom.xml file about how to enable it: https://github.com/apache/bookkeeper/blob/2f996dcf0159f945f7ec97ce7402e5d293009444/bookkeeper-server/pom.xml#L212
hope that helps
Enrico