Jonathan Albrecht created HBASE-27857:
-----------------------------------------
Summary: HBaseClassTestRule: system exit not restored if test
times out may cause test to hang
Key: HBASE-27857
URL: https://issues.apache.org/jira/browse/HBASE-27857
Project: HBase
Issue Type: Bug
Components: test
Environment: maven unit tests
Reporter: Jonathan Albrecht
HBaseClassTestRule applies a timeout and a system exit rule to tests. The
timeout rule throws an exception if it hits the timeout threshold. Since the
timeout rule is applied after the system exit rule, the system exit rule does
not see the exception and does not re-enable the default system exit behavior
which can cause maven to hang on some tests. I saw the hang happen when certain
tests timed out on s390x but it could happen on any platform.
If the org.apache.hadoop.hbase.TestTimeout.infiniteLoop test is enabled and run
it will generate a *-jvmRun1.dump file which shows that the
org.apache.hadoop.hbase.TestSecurityManager is still enabled:
{quote}# Created at 2023-04-27T15:51:58.947
org.apache.hadoop.hbase.SystemExitRule$SystemExitInTestException
at
org.apache.hadoop.hbase.TestSecurityManager.checkExit(TestSecurityManager.java:32)
at java.base/java.lang.Runtime.exit(Runtime.java:114)
at java.base/java.lang.System.exit(System.java:1752)
at
org.apache.maven.surefire.booter.ForkedBooter.acknowledgedExit(ForkedBooter.java:381)
at
org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:178)
at
org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)
at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)
...{quote}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)