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

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


The following commit(s) were added to refs/heads/master by this push:
     new 20df93e91ef HBASE-29869 Upgrade hbase-balancer to use junit5 
(addendum) (#7744)
20df93e91ef is described below

commit 20df93e91ef56abd4e9b770b9ae7de0e881e6eec
Author: Liu Xiao <[email protected]>
AuthorDate: Fri Feb 13 15:41:02 2026 +0800

    HBASE-29869 Upgrade hbase-balancer to use junit5 (addendum) (#7744)
    
    Signed-off-by: Duo Zhang <[email protected]>
---
 .../master/balancer/TestBalancerDecision.java      | 19 ++++++---------
 .../master/balancer/TestBalancerRejection.java     | 27 ++++++++++------------
 .../TestCacheAwareLoadBalancerCostFunctions.java   | 27 +++++++++-------------
 3 files changed, 30 insertions(+), 43 deletions(-)

diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBalancerDecision.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBalancerDecision.java
index 5d1f0777ee6..3ad9c829ec1 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBalancerDecision.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBalancerDecision.java
@@ -17,13 +17,13 @@
  */
 package org.apache.hadoop.hbase.master.balancer;
 
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.TableName;
@@ -36,10 +36,8 @@ import 
org.apache.hadoop.hbase.namequeues.request.NamedQueueGetRequest;
 import org.apache.hadoop.hbase.namequeues.response.NamedQueueGetResponse;
 import org.apache.hadoop.hbase.testclassification.MasterTests;
 import org.apache.hadoop.hbase.testclassification.MediumTests;
-import org.junit.Assert;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
 import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos;
@@ -48,13 +46,10 @@ import 
org.apache.hadoop.hbase.shaded.protobuf.generated.RecentLogs;
 /**
  * Test BalancerDecision ring buffer using namedQueue interface
  */
-@Category({ MasterTests.class, MediumTests.class })
+@Tag(MasterTests.TAG)
+@Tag(MediumTests.TAG)
 public class TestBalancerDecision extends StochasticBalancerTestBase {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestBalancerDecision.class);
-
   @Test
   public void testBalancerDecisions() {
     conf.setBoolean("hbase.master.balancer.decision.buffer.enabled", true);
@@ -79,7 +74,7 @@ public class TestBalancerDecision extends 
StochasticBalancerTestBase {
             (Map) mockClusterServersWithTables(servers);
           List<RegionPlan> plans = loadBalancer.balanceCluster(LoadOfAllTable);
           boolean emptyPlans = plans == null || plans.isEmpty();
-          Assert.assertTrue(emptyPlans || needsBalanceIdleRegion(mockCluster));
+          assertTrue(emptyPlans || needsBalanceIdleRegion(mockCluster));
         }
       }
       final NamedQueueGetRequest namedQueueGetRequest = new 
NamedQueueGetRequest();
@@ -93,7 +88,7 @@ public class TestBalancerDecision extends 
StochasticBalancerTestBase {
       MasterProtos.BalancerDecisionsResponse response = 
MasterProtos.BalancerDecisionsResponse
         .newBuilder().addAllBalancerDecision(balancerDecisions).build();
       List<LogEntry> balancerDecisionRecords = 
ProtobufUtil.getBalancerDecisionEntries(response);
-      Assert.assertTrue(balancerDecisionRecords.size() > 160);
+      assertTrue(balancerDecisionRecords.size() > 160);
     } finally {
       // reset config
       conf.unset(HConstants.HBASE_MASTER_LOADBALANCE_BYTABLE);
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBalancerRejection.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBalancerRejection.java
index c5d8223479e..5fe056887ca 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBalancerRejection.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBalancerRejection.java
@@ -17,13 +17,15 @@
  */
 package org.apache.hadoop.hbase.master.balancer;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 import java.util.List;
 import java.util.Map;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.LogEntry;
@@ -34,10 +36,8 @@ import 
org.apache.hadoop.hbase.namequeues.request.NamedQueueGetRequest;
 import org.apache.hadoop.hbase.namequeues.response.NamedQueueGetResponse;
 import org.apache.hadoop.hbase.testclassification.MasterTests;
 import org.apache.hadoop.hbase.testclassification.MediumTests;
-import org.junit.Assert;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
 import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos;
@@ -46,13 +46,10 @@ import 
org.apache.hadoop.hbase.shaded.protobuf.generated.RecentLogs;
 /**
  * Test BalancerRejection ring buffer using namedQueue interface
  */
-@Category({ MasterTests.class, MediumTests.class })
+@Tag(MasterTests.TAG)
+@Tag(MediumTests.TAG)
 public class TestBalancerRejection extends StochasticBalancerTestBase {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestBalancerRejection.class);
-
   static class MockCostFunction extends CostFunction {
     public static double mockCost;
 
@@ -90,13 +87,13 @@ public class TestBalancerRejection extends 
StochasticBalancerTestBase {
       // Reject case 1: Total cost < 0
       MockCostFunction.mockCost = -Double.MAX_VALUE;
       // Since the Balancer was rejected, there should not be any plans
-      Assert.assertNull(loadBalancer.balanceCluster(LoadOfAllTable));
+      assertNull(loadBalancer.balanceCluster(LoadOfAllTable));
 
       // Reject case 2: Cost < minCostNeedBalance
       MockCostFunction.mockCost = 1;
       conf.setFloat("hbase.master.balancer.stochastic.minCostNeedBalance", 
Float.MAX_VALUE);
       loadBalancer.onConfigurationChange(conf);
-      Assert.assertNull(loadBalancer.balanceCluster(LoadOfAllTable));
+      assertNull(loadBalancer.balanceCluster(LoadOfAllTable));
 
       // NamedQueue is an async Producer-consumer Pattern, waiting here until 
it completed
       int maxWaitingCount = 10;
@@ -105,9 +102,9 @@ public class TestBalancerRejection extends 
StochasticBalancerTestBase {
       }
       // There are two cases, should be 2 logEntries
       List<LogEntry> logEntries = getBalancerRejectionLogEntries(provider);
-      Assert.assertEquals(2, logEntries.size());
-      
Assert.assertTrue(logEntries.get(0).toJsonPrettyPrint().contains("minCostNeedBalance"));
-      
Assert.assertTrue(logEntries.get(1).toJsonPrettyPrint().contains("cost1*multiplier1"));
+      assertEquals(2, logEntries.size());
+      
assertTrue(logEntries.get(0).toJsonPrettyPrint().contains("minCostNeedBalance"));
+      
assertTrue(logEntries.get(1).toJsonPrettyPrint().contains("cost1*multiplier1"));
     } finally {
       conf.unset(StochasticLoadBalancer.COST_FUNCTIONS_COST_FUNCTIONS_KEY);
       conf.unset(BaseLoadBalancer.BALANCER_REJECTION_BUFFER_ENABLED);
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestCacheAwareLoadBalancerCostFunctions.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestCacheAwareLoadBalancerCostFunctions.java
index 448e576b1bc..0551adf9601 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestCacheAwareLoadBalancerCostFunctions.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestCacheAwareLoadBalancerCostFunctions.java
@@ -17,33 +17,28 @@
  */
 package org.apache.hadoop.hbase.master.balancer;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.testclassification.MasterTests;
 import org.apache.hadoop.hbase.testclassification.MediumTests;
 import org.apache.hadoop.hbase.util.Pair;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
-@Category({ MasterTests.class, MediumTests.class })
+@Tag(MasterTests.TAG)
+@Tag(MediumTests.TAG)
 public class TestCacheAwareLoadBalancerCostFunctions extends 
StochasticBalancerTestBase {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestCacheAwareLoadBalancerCostFunctions.class);
-
   // Mapping of test -> expected cache cost
   private final float[] expectedCacheCost = { 0.0f, 0.0f, 0.5f, 1.0f, 0.0f, 
0.572f, 0.0f, 0.075f };
 
@@ -185,12 +180,12 @@ public class TestCacheAwareLoadBalancerCostFunctions 
extends StochasticBalancerT
 
   private CacheAwareLoadBalancer loadBalancer = new CacheAwareLoadBalancer();
 
-  @BeforeClass
+  @BeforeAll
   public static void saveInitialConfiguration() {
     storedConfiguration = new Configuration(conf);
   }
 
-  @Before
+  @BeforeEach
   public void beforeEachTest() {
     conf = new Configuration(storedConfiguration);
     loadBalancer.loadConf(conf);

Reply via email to