Description
In the medium set, we found a test -'TestHTablePool.java' hanging and the build fails reporting a timeout. Though the test passes when run separately, while running the whole suite using the command " mvn -U clean package -Dhadoop.profile=2.0 -Psecurity -Dsnappy -P runMediumTests", this test is observed in a waiting state, tracking for the root region server.
It turns out be a problem with the test initialization. The class TestHTablePool contains a class TestHTablePoolType which uses nested static test classes. But the initialization is being done for the outer class - TestHTablePool using @BeforeClass annotation. Surefire reruns the tests written in nested manner (for some reasons), and when this test is instantiated the second time, the method setUpBeforeClass() is not being called and hence the initialization is not done.
Guess that surefire tries to run TestHTablePool.TestHTableReusablePool.class directly. (Tried this by writing a separate program using JUnitCore.runClasses(TTestHTablePool.TestHTableReusablePool.class) and observed that the outer class's @BeforeClass method is not called.)