You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2023/05/13 01:11:52 UTC

[hbase] 01/02: HBASE-27857 Fix timeout exception handling in HBaseClassTestRule. (#5231)

This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch branch-2.4
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 4df157dbd717e084c38ea299ae1d9fcd8d3f157d
Author: Jonathan Albrecht <jo...@ibm.com>
AuthorDate: Fri May 12 20:54:50 2023 -0400

    HBASE-27857 Fix timeout exception handling in HBaseClassTestRule. (#5231)
    
    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 system exit behavior which can cause maven to hang on some
    tests.
    
    This change applies the timeout rule before the system exit rule so
    that normal system exit can be restored before the surefire forked
    node is shutdown.
    
    Signed-off-by: Duo Zhang <zh...@apache.org>
    (cherry picked from commit 220eacf7c56f00a9c8746295fbc46db8a7a66da2)
---
 .../src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java
index 59011cfc9cd..73f5442b6a7 100644
--- a/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java
+++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java
@@ -162,7 +162,7 @@ public final class HBaseClassTestRule implements TestRule {
 
   @Override
   public Statement apply(Statement base, Description description) {
-    return timeout.apply(systemExitRule.apply(base, description), description);
+    return systemExitRule.apply(timeout.apply(base, description), description);
   }
 
 }