From 597c442343e7442b9a56e3e4dfa952ee32be1713 Mon Sep 17 00:00:00 2001 From: Duo Zhang Date: Mon, 20 Apr 2026 18:07:03 +0800 Subject: [PATCH 1/2] HBASE-30098 Rewrite RestoreSnapshotFromClientTestBase and its sub classes --- ...omClientAfterSplittingRegionsTestBase.java | 8 +++- ...apshotFromClientAfterTruncateTestBase.java | 12 +++-- ...estoreSnapshotFromClientCloneTestBase.java | 18 ++++--- ...tFromClientGetCompactionStateTestBase.java | 10 ++-- ...napshotFromClientSchemaChangeTestBase.java | 12 +++-- ...storeSnapshotFromClientSimpleTestBase.java | 22 +++++---- .../RestoreSnapshotFromClientTestBase.java | 47 ++++++++++--------- ...apshotFromClientAfterSplittingRegions.java | 23 ++++----- ...estoreSnapshotFromClientAfterTruncate.java | 23 ++++----- ...TestMobRestoreSnapshotFromClientClone.java | 23 ++++----- ...eSnapshotFromClientGetCompactionState.java | 23 ++++----- ...RestoreSnapshotFromClientSchemaChange.java | 23 ++++----- ...estMobRestoreSnapshotFromClientSimple.java | 23 ++++----- ...apshotFromClientAfterSplittingRegions.java | 36 +++++--------- ...estoreSnapshotFromClientAfterTruncate.java | 36 +++++--------- .../TestRestoreSnapshotFromClientClone.java | 36 +++++--------- ...eSnapshotFromClientGetCompactionState.java | 36 +++++--------- ...RestoreSnapshotFromClientSchemaChange.java | 36 +++++--------- .../TestRestoreSnapshotFromClientSimple.java | 36 +++++--------- 19 files changed, 221 insertions(+), 262 deletions(-) diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientAfterSplittingRegionsTestBase.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientAfterSplittingRegionsTestBase.java index a065c1efb427..823a0fb091a3 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientAfterSplittingRegionsTestBase.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientAfterSplittingRegionsTestBase.java @@ -20,12 +20,16 @@ import java.io.IOException; import java.util.List; import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; -import org.junit.Test; +import org.junit.jupiter.api.TestTemplate; public class RestoreSnapshotFromClientAfterSplittingRegionsTestBase extends RestoreSnapshotFromClientTestBase { - @Test + protected RestoreSnapshotFromClientAfterSplittingRegionsTestBase(int numReplicas) { + super(numReplicas); + } + + @TestTemplate public void testRestoreSnapshotAfterSplittingRegions() throws IOException, InterruptedException { List regionInfos = admin.getRegions(tableName); RegionReplicaUtil.removeNonDefaultRegions(regionInfos); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientAfterTruncateTestBase.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientAfterTruncateTestBase.java index f4c2e13564a4..66add3019f47 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientAfterTruncateTestBase.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientAfterTruncateTestBase.java @@ -19,15 +19,19 @@ import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; -import org.junit.Test; +import org.junit.jupiter.api.TestTemplate; public class RestoreSnapshotFromClientAfterTruncateTestBase extends RestoreSnapshotFromClientTestBase { - @Test + protected RestoreSnapshotFromClientAfterTruncateTestBase(int numReplicas) { + super(numReplicas); + } + + @TestTemplate public void testRestoreSnapshotAfterTruncate() throws Exception { TableName tableName = TableName.valueOf(getValidMethodName()); - SnapshotTestingUtils.createTable(TEST_UTIL, tableName, getNumReplicas(), FAMILY); + SnapshotTestingUtils.createTable(TEST_UTIL, tableName, numReplicas, FAMILY); SnapshotTestingUtils.loadData(TEST_UTIL, tableName, 500, FAMILY); int numOfRows = 0; @@ -43,6 +47,6 @@ public void testRestoreSnapshotAfterTruncate() throws Exception { admin.enableTable(tableName); verifyRowCount(TEST_UTIL, tableName, numOfRows); - SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, getNumReplicas()); + SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, numReplicas); } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientCloneTestBase.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientCloneTestBase.java index 584d4f03b60a..d1481c28c48f 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientCloneTestBase.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientCloneTestBase.java @@ -21,17 +21,21 @@ import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; import org.apache.hadoop.hbase.util.EnvironmentEdgeManager; -import org.junit.Test; +import org.junit.jupiter.api.TestTemplate; public class RestoreSnapshotFromClientCloneTestBase extends RestoreSnapshotFromClientTestBase { - @Test + protected RestoreSnapshotFromClientCloneTestBase(int numReplicas) { + super(numReplicas); + } + + @TestTemplate public void testCloneSnapshotOfCloned() throws IOException, InterruptedException { TableName clonedTableName = TableName.valueOf(getValidMethodName() + "-" + EnvironmentEdgeManager.currentTime()); admin.cloneSnapshot(snapshotName0, clonedTableName); verifyRowCount(TEST_UTIL, clonedTableName, snapshot0Rows); - SnapshotTestingUtils.verifyReplicasCameOnline(clonedTableName, admin, getNumReplicas()); + SnapshotTestingUtils.verifyReplicasCameOnline(clonedTableName, admin, numReplicas); admin.disableTable(clonedTableName); admin.snapshot(snapshotName2, clonedTableName); TEST_UTIL.deleteTable(clonedTableName); @@ -39,25 +43,25 @@ public void testCloneSnapshotOfCloned() throws IOException, InterruptedException admin.cloneSnapshot(snapshotName2, clonedTableName); verifyRowCount(TEST_UTIL, clonedTableName, snapshot0Rows); - SnapshotTestingUtils.verifyReplicasCameOnline(clonedTableName, admin, getNumReplicas()); + SnapshotTestingUtils.verifyReplicasCameOnline(clonedTableName, admin, numReplicas); TEST_UTIL.deleteTable(clonedTableName); } - @Test + @TestTemplate public void testCloneAndRestoreSnapshot() throws IOException, InterruptedException { TEST_UTIL.deleteTable(tableName); waitCleanerRun(); admin.cloneSnapshot(snapshotName0, tableName); verifyRowCount(TEST_UTIL, tableName, snapshot0Rows); - SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, getNumReplicas()); + SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, numReplicas); waitCleanerRun(); admin.disableTable(tableName); admin.restoreSnapshot(snapshotName0); admin.enableTable(tableName); verifyRowCount(TEST_UTIL, tableName, snapshot0Rows); - SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, getNumReplicas()); + SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, numReplicas); } private void waitCleanerRun() throws InterruptedException { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientGetCompactionStateTestBase.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientGetCompactionStateTestBase.java index 2dedd4bd4a61..ffcf1f76135c 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientGetCompactionStateTestBase.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientGetCompactionStateTestBase.java @@ -17,15 +17,19 @@ */ package org.apache.hadoop.hbase.client; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.IOException; -import org.junit.Test; +import org.junit.jupiter.api.TestTemplate; public class RestoreSnapshotFromClientGetCompactionStateTestBase extends RestoreSnapshotFromClientTestBase { - @Test + protected RestoreSnapshotFromClientGetCompactionStateTestBase(int numReplicas) { + super(numReplicas); + } + + @TestTemplate public void testGetCompactionStateAfterRestoringSnapshot() throws IOException, InterruptedException { // Take a snapshot diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientSchemaChangeTestBase.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientSchemaChangeTestBase.java index c05818397c29..3d89abe3b5db 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientSchemaChangeTestBase.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientSchemaChangeTestBase.java @@ -17,8 +17,8 @@ */ package org.apache.hadoop.hbase.client; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; import java.io.IOException; import java.util.HashSet; @@ -31,11 +31,15 @@ import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.CommonFSUtils; import org.apache.hadoop.hbase.util.FSUtils; -import org.junit.Test; +import org.junit.jupiter.api.TestTemplate; public class RestoreSnapshotFromClientSchemaChangeTestBase extends RestoreSnapshotFromClientTestBase { + protected RestoreSnapshotFromClientSchemaChangeTestBase(int numReplicas) { + super(numReplicas); + } + private Set getFamiliesFromFS(final TableName tableName) throws IOException { MasterFileSystem mfs = TEST_UTIL.getMiniHBaseCluster().getMaster().getMasterFileSystem(); Set families = new HashSet<>(); @@ -52,7 +56,7 @@ protected ColumnFamilyDescriptor getTestRestoreSchemaChangeHCD() { return ColumnFamilyDescriptorBuilder.of(TEST_FAMILY2); } - @Test + @TestTemplate public void testRestoreSchemaChange() throws Exception { Table table = TEST_UTIL.getConnection().getTable(tableName); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientSimpleTestBase.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientSimpleTestBase.java index a2437d2b6a57..7e1a7c442871 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientSimpleTestBase.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientSimpleTestBase.java @@ -17,19 +17,23 @@ */ package org.apache.hadoop.hbase.client; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.fail; import java.io.IOException; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.snapshot.CorruptedSnapshotException; import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; import org.apache.hadoop.hbase.util.EnvironmentEdgeManager; -import org.junit.Test; +import org.junit.jupiter.api.TestTemplate; public class RestoreSnapshotFromClientSimpleTestBase extends RestoreSnapshotFromClientTestBase { - @Test + protected RestoreSnapshotFromClientSimpleTestBase(int numReplicas) { + super(numReplicas); + } + + @TestTemplate public void testRestoreSnapshot() throws IOException { verifyRowCount(TEST_UTIL, tableName, snapshot1Rows); admin.disableTable(tableName); @@ -38,30 +42,30 @@ public void testRestoreSnapshot() throws IOException { admin.restoreSnapshot(snapshotName0); admin.enableTable(tableName); verifyRowCount(TEST_UTIL, tableName, snapshot0Rows); - SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, getNumReplicas()); + SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, numReplicas); // Restore from emptySnapshot admin.disableTable(tableName); admin.restoreSnapshot(emptySnapshot); admin.enableTable(tableName); verifyRowCount(TEST_UTIL, tableName, 0); - SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, getNumReplicas()); + SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, numReplicas); // Restore from snapshot-1 admin.disableTable(tableName); admin.restoreSnapshot(snapshotName1); admin.enableTable(tableName); verifyRowCount(TEST_UTIL, tableName, snapshot1Rows); - SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, getNumReplicas()); + SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, numReplicas); // Restore from snapshot-1 TEST_UTIL.deleteTable(tableName); admin.restoreSnapshot(snapshotName1); verifyRowCount(TEST_UTIL, tableName, snapshot1Rows); - SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, getNumReplicas()); + SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, numReplicas); } - @Test + @TestTemplate public void testCorruptedSnapshot() throws IOException, InterruptedException { SnapshotTestingUtils.corruptSnapshot(TEST_UTIL, snapshotName0); TableName cloneName = diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientTestBase.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientTestBase.java index c4d2c7a62e95..633861d9fb66 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientTestBase.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientTestBase.java @@ -18,6 +18,7 @@ package org.apache.hadoop.hbase.client; import java.io.IOException; +import java.util.stream.Stream; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseTestingUtil; import org.apache.hadoop.hbase.HConstants; @@ -26,12 +27,11 @@ import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.EnvironmentEdgeManager; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Rule; -import org.junit.rules.TestName; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.TestInfo; +import org.junit.jupiter.params.provider.Arguments; /** * Base class for testing restore snapshot @@ -51,13 +51,16 @@ public class RestoreSnapshotFromClientTestBase { protected int snapshot1Rows; protected Admin admin; - @Rule - public TestName name = new TestName(); + protected int numReplicas; - @BeforeClass - public static void setupCluster() throws Exception { - setupConf(TEST_UTIL.getConfiguration()); - TEST_UTIL.startMiniCluster(3); + private String testName; + + protected RestoreSnapshotFromClientTestBase(int numReplicas) { + this.numReplicas = numReplicas; + } + + public static Stream parameters() { + return Stream.of(Arguments.of(1), Arguments.of(3)); } protected static void setupConf(Configuration conf) { @@ -69,7 +72,7 @@ protected static void setupConf(Configuration conf) { TEST_UTIL.getConfiguration().setBoolean("hbase.master.enabletable.roundrobin", true); } - @AfterClass + @AfterAll public static void tearDownAfterClass() throws Exception { TEST_UTIL.shutdownMiniCluster(); } @@ -79,10 +82,12 @@ public static void tearDownAfterClass() throws Exception { * snapshotName1) of different states. The tableName, snapshotNames and the number of rows in the * snapshot are initialized. */ - @Before - public void setup() throws Exception { + @BeforeEach + public void setUp(TestInfo testInfo) throws Exception { this.admin = TEST_UTIL.getAdmin(); long tid = EnvironmentEdgeManager.currentTime(); + testName = testInfo.getTestMethod().get().getName() + + testInfo.getDisplayName().replaceAll("[^0-9A-Za-z_]", "_"); tableName = TableName.valueOf(getValidMethodName() + "-" + tid); emptySnapshot = "emptySnaptb-" + tid; snapshotName0 = "snaptb0-" + tid; @@ -116,22 +121,18 @@ public void setup() throws Exception { } protected void createTable() throws Exception { - SnapshotTestingUtils.createTable(TEST_UTIL, tableName, getNumReplicas(), FAMILY); + SnapshotTestingUtils.createTable(TEST_UTIL, tableName, numReplicas, FAMILY); } - @After + @AfterEach public void tearDown() throws Exception { TEST_UTIL.deleteTable(tableName); SnapshotTestingUtils.deleteAllSnapshots(TEST_UTIL.getAdmin()); SnapshotTestingUtils.deleteArchiveDirectory(TEST_UTIL); } - protected int getNumReplicas() { - return 1; - } - protected int countRows(Table table, byte[]... families) throws IOException { - return TEST_UTIL.countRows(table, families); + return HBaseTestingUtil.countRows(table, families); } protected void verifyRowCount(HBaseTestingUtil util, TableName tableName, long expectedRows) @@ -145,6 +146,6 @@ protected final void splitRegion(RegionInfo regionInfo) throws IOException { } protected final String getValidMethodName() { - return name.getMethodName().replaceAll("[^0-9A-Za-z_]", "_"); + return testName; } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientAfterSplittingRegions.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientAfterSplittingRegions.java index 50694c9726da..c06c960b5c2e 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientAfterSplittingRegions.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientAfterSplittingRegions.java @@ -19,27 +19,28 @@ import java.io.IOException; import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.HBaseClassTestRule; +import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate; import org.apache.hadoop.hbase.HBaseTestingUtil; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.mob.MobConstants; import org.apache.hadoop.hbase.snapshot.MobSnapshotTestingUtils; import org.apache.hadoop.hbase.testclassification.ClientTests; import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.experimental.categories.Category; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Tag; -@Category({ LargeTests.class, ClientTests.class }) +@Tag(LargeTests.TAG) +@Tag(ClientTests.TAG) +@HBaseParameterizedTestTemplate(name = "{index}: regionReplication={0}") public class TestMobRestoreSnapshotFromClientAfterSplittingRegions extends RestoreSnapshotFromClientAfterSplittingRegionsTestBase { - @ClassRule - public static final HBaseClassTestRule CLASS_RULE = - HBaseClassTestRule.forClass(TestMobRestoreSnapshotFromClientAfterSplittingRegions.class); + public TestMobRestoreSnapshotFromClientAfterSplittingRegions(int numReplicas) { + super(numReplicas); + } - @BeforeClass - public static void setupCluster() throws Exception { + @BeforeAll + public static void setUpBeforeClass() throws Exception { setupConf(TEST_UTIL.getConfiguration()); TEST_UTIL.startMiniCluster(3); } @@ -51,7 +52,7 @@ protected static void setupConf(Configuration conf) { @Override protected void createTable() throws Exception { - MobSnapshotTestingUtils.createMobTable(TEST_UTIL, tableName, getNumReplicas(), FAMILY); + MobSnapshotTestingUtils.createMobTable(TEST_UTIL, tableName, numReplicas, FAMILY); } @Override diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientAfterTruncate.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientAfterTruncate.java index d530582b36b3..d1a03a688063 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientAfterTruncate.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientAfterTruncate.java @@ -19,27 +19,28 @@ import java.io.IOException; import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.HBaseClassTestRule; +import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate; import org.apache.hadoop.hbase.HBaseTestingUtil; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.mob.MobConstants; import org.apache.hadoop.hbase.snapshot.MobSnapshotTestingUtils; import org.apache.hadoop.hbase.testclassification.ClientTests; import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.experimental.categories.Category; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Tag; -@Category({ LargeTests.class, ClientTests.class }) +@Tag(LargeTests.TAG) +@Tag(ClientTests.TAG) +@HBaseParameterizedTestTemplate(name = "{index}: regionReplication={0}") public class TestMobRestoreSnapshotFromClientAfterTruncate extends RestoreSnapshotFromClientAfterTruncateTestBase { - @ClassRule - public static final HBaseClassTestRule CLASS_RULE = - HBaseClassTestRule.forClass(TestMobRestoreSnapshotFromClientAfterTruncate.class); + public TestMobRestoreSnapshotFromClientAfterTruncate(int numReplicas) { + super(numReplicas); + } - @BeforeClass - public static void setupCluster() throws Exception { + @BeforeAll + public static void setUpBeforeClass() throws Exception { setupConf(TEST_UTIL.getConfiguration()); TEST_UTIL.startMiniCluster(3); } @@ -51,7 +52,7 @@ protected static void setupConf(Configuration conf) { @Override protected void createTable() throws Exception { - MobSnapshotTestingUtils.createMobTable(TEST_UTIL, tableName, getNumReplicas(), FAMILY); + MobSnapshotTestingUtils.createMobTable(TEST_UTIL, tableName, numReplicas, FAMILY); } @Override diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientClone.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientClone.java index 73a3b3ab92cc..7fca59bab0c7 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientClone.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientClone.java @@ -19,26 +19,27 @@ import java.io.IOException; import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.HBaseClassTestRule; +import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate; import org.apache.hadoop.hbase.HBaseTestingUtil; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.mob.MobConstants; import org.apache.hadoop.hbase.snapshot.MobSnapshotTestingUtils; import org.apache.hadoop.hbase.testclassification.ClientTests; import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.experimental.categories.Category; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Tag; -@Category({ LargeTests.class, ClientTests.class }) +@Tag(LargeTests.TAG) +@Tag(ClientTests.TAG) +@HBaseParameterizedTestTemplate(name = "{index}: regionReplication={0}") public class TestMobRestoreSnapshotFromClientClone extends RestoreSnapshotFromClientCloneTestBase { - @ClassRule - public static final HBaseClassTestRule CLASS_RULE = - HBaseClassTestRule.forClass(TestMobRestoreSnapshotFromClientClone.class); + public TestMobRestoreSnapshotFromClientClone(int numReplicas) { + super(numReplicas); + } - @BeforeClass - public static void setupCluster() throws Exception { + @BeforeAll + public static void setUpBeforeClass() throws Exception { setupConf(TEST_UTIL.getConfiguration()); TEST_UTIL.startMiniCluster(3); } @@ -50,7 +51,7 @@ protected static void setupConf(Configuration conf) { @Override protected void createTable() throws Exception { - MobSnapshotTestingUtils.createMobTable(TEST_UTIL, tableName, getNumReplicas(), FAMILY); + MobSnapshotTestingUtils.createMobTable(TEST_UTIL, tableName, numReplicas, FAMILY); } @Override diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientGetCompactionState.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientGetCompactionState.java index c3279ea5e251..01e8a24905da 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientGetCompactionState.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientGetCompactionState.java @@ -19,27 +19,28 @@ import java.io.IOException; import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.HBaseClassTestRule; +import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate; import org.apache.hadoop.hbase.HBaseTestingUtil; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.mob.MobConstants; import org.apache.hadoop.hbase.snapshot.MobSnapshotTestingUtils; import org.apache.hadoop.hbase.testclassification.ClientTests; import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.experimental.categories.Category; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Tag; -@Category({ LargeTests.class, ClientTests.class }) +@Tag(LargeTests.TAG) +@Tag(ClientTests.TAG) +@HBaseParameterizedTestTemplate(name = "{index}: regionReplication={0}") public class TestMobRestoreSnapshotFromClientGetCompactionState extends RestoreSnapshotFromClientGetCompactionStateTestBase { - @ClassRule - public static final HBaseClassTestRule CLASS_RULE = - HBaseClassTestRule.forClass(TestMobRestoreSnapshotFromClientGetCompactionState.class); + public TestMobRestoreSnapshotFromClientGetCompactionState(int numReplicas) { + super(numReplicas); + } - @BeforeClass - public static void setupCluster() throws Exception { + @BeforeAll + public static void setUpBeforeClass() throws Exception { setupConf(TEST_UTIL.getConfiguration()); TEST_UTIL.startMiniCluster(3); } @@ -51,7 +52,7 @@ protected static void setupConf(Configuration conf) { @Override protected void createTable() throws Exception { - MobSnapshotTestingUtils.createMobTable(TEST_UTIL, tableName, getNumReplicas(), FAMILY); + MobSnapshotTestingUtils.createMobTable(TEST_UTIL, tableName, numReplicas, FAMILY); } @Override diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientSchemaChange.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientSchemaChange.java index e741ae5d8e12..bdd81eecdbef 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientSchemaChange.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientSchemaChange.java @@ -19,27 +19,28 @@ import java.io.IOException; import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.HBaseClassTestRule; +import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate; import org.apache.hadoop.hbase.HBaseTestingUtil; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.mob.MobConstants; import org.apache.hadoop.hbase.snapshot.MobSnapshotTestingUtils; import org.apache.hadoop.hbase.testclassification.ClientTests; import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.experimental.categories.Category; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Tag; -@Category({ LargeTests.class, ClientTests.class }) +@Tag(LargeTests.TAG) +@Tag(ClientTests.TAG) +@HBaseParameterizedTestTemplate(name = "{index}: regionReplication={0}") public class TestMobRestoreSnapshotFromClientSchemaChange extends RestoreSnapshotFromClientSchemaChangeTestBase { - @ClassRule - public static final HBaseClassTestRule CLASS_RULE = - HBaseClassTestRule.forClass(TestMobRestoreSnapshotFromClientSchemaChange.class); + public TestMobRestoreSnapshotFromClientSchemaChange(int numReplicas) { + super(numReplicas); + } - @BeforeClass - public static void setupCluster() throws Exception { + @BeforeAll + public static void setUpBeforeClass() throws Exception { setupConf(TEST_UTIL.getConfiguration()); TEST_UTIL.startMiniCluster(3); } @@ -51,7 +52,7 @@ protected static void setupConf(Configuration conf) { @Override protected void createTable() throws Exception { - MobSnapshotTestingUtils.createMobTable(TEST_UTIL, tableName, getNumReplicas(), FAMILY); + MobSnapshotTestingUtils.createMobTable(TEST_UTIL, tableName, numReplicas, FAMILY); } @Override diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientSimple.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientSimple.java index 2c36fb9d3393..9a29536e36d6 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientSimple.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobRestoreSnapshotFromClientSimple.java @@ -19,27 +19,28 @@ import java.io.IOException; import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.HBaseClassTestRule; +import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate; import org.apache.hadoop.hbase.HBaseTestingUtil; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.mob.MobConstants; import org.apache.hadoop.hbase.snapshot.MobSnapshotTestingUtils; import org.apache.hadoop.hbase.testclassification.ClientTests; import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.experimental.categories.Category; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Tag; -@Category({ LargeTests.class, ClientTests.class }) +@Tag(LargeTests.TAG) +@Tag(ClientTests.TAG) +@HBaseParameterizedTestTemplate(name = "{index}: regionReplication={0}") public class TestMobRestoreSnapshotFromClientSimple extends RestoreSnapshotFromClientSimpleTestBase { - @ClassRule - public static final HBaseClassTestRule CLASS_RULE = - HBaseClassTestRule.forClass(TestMobRestoreSnapshotFromClientSimple.class); + public TestMobRestoreSnapshotFromClientSimple(int numReplicas) { + super(numReplicas); + } - @BeforeClass - public static void setupCluster() throws Exception { + @BeforeAll + public static void setUpBeforeClass() throws Exception { setupConf(TEST_UTIL.getConfiguration()); TEST_UTIL.startMiniCluster(3); } @@ -51,7 +52,7 @@ protected static void setupConf(Configuration conf) { @Override protected void createTable() throws Exception { - MobSnapshotTestingUtils.createMobTable(TEST_UTIL, tableName, getNumReplicas(), FAMILY); + MobSnapshotTestingUtils.createMobTable(TEST_UTIL, tableName, numReplicas, FAMILY); } @Override diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientAfterSplittingRegions.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientAfterSplittingRegions.java index eadf9fdf8b24..1236525f54e6 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientAfterSplittingRegions.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientAfterSplittingRegions.java @@ -17,37 +17,25 @@ */ package org.apache.hadoop.hbase.client; -import java.util.Arrays; -import java.util.List; -import org.apache.hadoop.hbase.HBaseClassTestRule; +import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate; import org.apache.hadoop.hbase.testclassification.ClientTests; import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.junit.ClassRule; -import org.junit.experimental.categories.Category; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameter; -import org.junit.runners.Parameterized.Parameters; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Tag; -@RunWith(Parameterized.class) -@Category({ LargeTests.class, ClientTests.class }) +@Tag(LargeTests.TAG) +@Tag(ClientTests.TAG) +@HBaseParameterizedTestTemplate(name = "{index}: regionReplication={0}") public class TestRestoreSnapshotFromClientAfterSplittingRegions extends RestoreSnapshotFromClientAfterSplittingRegionsTestBase { - @ClassRule - public static final HBaseClassTestRule CLASS_RULE = - HBaseClassTestRule.forClass(TestRestoreSnapshotFromClientAfterSplittingRegions.class); - - @Parameter - public int numReplicas; - - @Parameters(name = "{index}: regionReplication={0}") - public static List params() { - return Arrays.asList(new Object[] { 1 }, new Object[] { 3 }); + public TestRestoreSnapshotFromClientAfterSplittingRegions(int numReplicas) { + super(numReplicas); } - @Override - protected int getNumReplicas() { - return numReplicas; + @BeforeAll + public static void setUpBeforeClass() throws Exception { + setupConf(TEST_UTIL.getConfiguration()); + TEST_UTIL.startMiniCluster(3); } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientAfterTruncate.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientAfterTruncate.java index fa438cb2c722..0cc7655365d2 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientAfterTruncate.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientAfterTruncate.java @@ -17,37 +17,25 @@ */ package org.apache.hadoop.hbase.client; -import java.util.Arrays; -import java.util.List; -import org.apache.hadoop.hbase.HBaseClassTestRule; +import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate; import org.apache.hadoop.hbase.testclassification.ClientTests; import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.junit.ClassRule; -import org.junit.experimental.categories.Category; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameter; -import org.junit.runners.Parameterized.Parameters; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Tag; -@RunWith(Parameterized.class) -@Category({ LargeTests.class, ClientTests.class }) +@Tag(LargeTests.TAG) +@Tag(ClientTests.TAG) +@HBaseParameterizedTestTemplate(name = "{index}: regionReplication={0}") public class TestRestoreSnapshotFromClientAfterTruncate extends RestoreSnapshotFromClientAfterTruncateTestBase { - @ClassRule - public static final HBaseClassTestRule CLASS_RULE = - HBaseClassTestRule.forClass(TestRestoreSnapshotFromClientAfterTruncate.class); - - @Parameter - public int numReplicas; - - @Parameters(name = "{index}: regionReplication={0}") - public static List params() { - return Arrays.asList(new Object[] { 1 }, new Object[] { 3 }); + public TestRestoreSnapshotFromClientAfterTruncate(int numReplicas) { + super(numReplicas); } - @Override - protected int getNumReplicas() { - return numReplicas; + @BeforeAll + public static void setUpBeforeClass() throws Exception { + setupConf(TEST_UTIL.getConfiguration()); + TEST_UTIL.startMiniCluster(3); } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientClone.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientClone.java index f1a556f2018a..9eeef8efd756 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientClone.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientClone.java @@ -17,36 +17,24 @@ */ package org.apache.hadoop.hbase.client; -import java.util.Arrays; -import java.util.List; -import org.apache.hadoop.hbase.HBaseClassTestRule; +import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate; import org.apache.hadoop.hbase.testclassification.ClientTests; import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.junit.ClassRule; -import org.junit.experimental.categories.Category; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameter; -import org.junit.runners.Parameterized.Parameters; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Tag; -@RunWith(Parameterized.class) -@Category({ LargeTests.class, ClientTests.class }) +@Tag(LargeTests.TAG) +@Tag(ClientTests.TAG) +@HBaseParameterizedTestTemplate(name = "{index}: regionReplication={0}") public class TestRestoreSnapshotFromClientClone extends RestoreSnapshotFromClientCloneTestBase { - @ClassRule - public static final HBaseClassTestRule CLASS_RULE = - HBaseClassTestRule.forClass(TestRestoreSnapshotFromClientClone.class); - - @Parameter - public int numReplicas; - - @Parameters(name = "{index}: regionReplication={0}") - public static List params() { - return Arrays.asList(new Object[] { 1 }, new Object[] { 3 }); + public TestRestoreSnapshotFromClientClone(int numReplicas) { + super(numReplicas); } - @Override - protected int getNumReplicas() { - return numReplicas; + @BeforeAll + public static void setUpBeforeClass() throws Exception { + setupConf(TEST_UTIL.getConfiguration()); + TEST_UTIL.startMiniCluster(3); } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientGetCompactionState.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientGetCompactionState.java index c3cb892f47d8..0dbd7d2b81b5 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientGetCompactionState.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientGetCompactionState.java @@ -17,37 +17,25 @@ */ package org.apache.hadoop.hbase.client; -import java.util.Arrays; -import java.util.List; -import org.apache.hadoop.hbase.HBaseClassTestRule; +import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate; import org.apache.hadoop.hbase.testclassification.ClientTests; import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.junit.ClassRule; -import org.junit.experimental.categories.Category; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameter; -import org.junit.runners.Parameterized.Parameters; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Tag; -@RunWith(Parameterized.class) -@Category({ LargeTests.class, ClientTests.class }) +@Tag(LargeTests.TAG) +@Tag(ClientTests.TAG) +@HBaseParameterizedTestTemplate(name = "{index}: regionReplication={0}") public class TestRestoreSnapshotFromClientGetCompactionState extends RestoreSnapshotFromClientGetCompactionStateTestBase { - @ClassRule - public static final HBaseClassTestRule CLASS_RULE = - HBaseClassTestRule.forClass(TestRestoreSnapshotFromClientGetCompactionState.class); - - @Parameter - public int numReplicas; - - @Parameters(name = "{index}: regionReplication={0}") - public static List params() { - return Arrays.asList(new Object[] { 1 }, new Object[] { 3 }); + public TestRestoreSnapshotFromClientGetCompactionState(int numReplicas) { + super(numReplicas); } - @Override - protected int getNumReplicas() { - return numReplicas; + @BeforeAll + public static void setUpBeforeClass() throws Exception { + setupConf(TEST_UTIL.getConfiguration()); + TEST_UTIL.startMiniCluster(3); } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientSchemaChange.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientSchemaChange.java index 818a33e94527..6b3c5b24b399 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientSchemaChange.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientSchemaChange.java @@ -17,37 +17,25 @@ */ package org.apache.hadoop.hbase.client; -import java.util.Arrays; -import java.util.List; -import org.apache.hadoop.hbase.HBaseClassTestRule; +import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate; import org.apache.hadoop.hbase.testclassification.ClientTests; import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.junit.ClassRule; -import org.junit.experimental.categories.Category; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameter; -import org.junit.runners.Parameterized.Parameters; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Tag; -@RunWith(Parameterized.class) -@Category({ LargeTests.class, ClientTests.class }) +@Tag(LargeTests.TAG) +@Tag(ClientTests.TAG) +@HBaseParameterizedTestTemplate(name = "{index}: regionReplication={0}") public class TestRestoreSnapshotFromClientSchemaChange extends RestoreSnapshotFromClientSchemaChangeTestBase { - @ClassRule - public static final HBaseClassTestRule CLASS_RULE = - HBaseClassTestRule.forClass(TestRestoreSnapshotFromClientSchemaChange.class); - - @Parameter - public int numReplicas; - - @Parameters(name = "{index}: regionReplication={0}") - public static List params() { - return Arrays.asList(new Object[] { 1 }, new Object[] { 3 }); + public TestRestoreSnapshotFromClientSchemaChange(int numReplicas) { + super(numReplicas); } - @Override - protected int getNumReplicas() { - return numReplicas; + @BeforeAll + public static void setUpBeforeClass() throws Exception { + setupConf(TEST_UTIL.getConfiguration()); + TEST_UTIL.startMiniCluster(3); } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientSimple.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientSimple.java index 8cbb7ab01c8c..27c345ecc42a 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientSimple.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClientSimple.java @@ -17,36 +17,24 @@ */ package org.apache.hadoop.hbase.client; -import java.util.Arrays; -import java.util.List; -import org.apache.hadoop.hbase.HBaseClassTestRule; +import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate; import org.apache.hadoop.hbase.testclassification.ClientTests; import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.junit.ClassRule; -import org.junit.experimental.categories.Category; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameter; -import org.junit.runners.Parameterized.Parameters; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Tag; -@RunWith(Parameterized.class) -@Category({ LargeTests.class, ClientTests.class }) +@Tag(LargeTests.TAG) +@Tag(ClientTests.TAG) +@HBaseParameterizedTestTemplate(name = "{index}: regionReplication={0}") public class TestRestoreSnapshotFromClientSimple extends RestoreSnapshotFromClientSimpleTestBase { - @ClassRule - public static final HBaseClassTestRule CLASS_RULE = - HBaseClassTestRule.forClass(TestRestoreSnapshotFromClientSimple.class); - - @Parameter - public int numReplicas; - - @Parameters(name = "{index}: regionReplication={0}") - public static List params() { - return Arrays.asList(new Object[] { 1 }, new Object[] { 3 }); + public TestRestoreSnapshotFromClientSimple(int numReplicas) { + super(numReplicas); } - @Override - protected int getNumReplicas() { - return numReplicas; + @BeforeAll + public static void setUpBeforeClass() throws Exception { + setupConf(TEST_UTIL.getConfiguration()); + TEST_UTIL.startMiniCluster(3); } } From ffe17f5c683f80f940ff8ca8bc6f807b761747fb Mon Sep 17 00:00:00 2001 From: Duo Zhang Date: Tue, 21 Apr 2026 09:30:09 +0800 Subject: [PATCH 2/2] address review comment --- ...apshotFromClientAfterTruncateTestBase.java | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientAfterTruncateTestBase.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientAfterTruncateTestBase.java index 66add3019f47..3f9cf8c13471 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientAfterTruncateTestBase.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientAfterTruncateTestBase.java @@ -32,21 +32,25 @@ protected RestoreSnapshotFromClientAfterTruncateTestBase(int numReplicas) { public void testRestoreSnapshotAfterTruncate() throws Exception { TableName tableName = TableName.valueOf(getValidMethodName()); SnapshotTestingUtils.createTable(TEST_UTIL, tableName, numReplicas, FAMILY); - SnapshotTestingUtils.loadData(TEST_UTIL, tableName, 500, FAMILY); - int numOfRows = 0; + try { + SnapshotTestingUtils.loadData(TEST_UTIL, tableName, 500, FAMILY); + int numOfRows = 0; - try (Table table = TEST_UTIL.getConnection().getTable(tableName)) { - numOfRows = countRows(table); - } - // take snapshot - admin.snapshot("snap", tableName); - admin.disableTable(tableName); - admin.truncateTable(tableName, false); - admin.disableTable(tableName); - admin.restoreSnapshot("snap"); + try (Table table = TEST_UTIL.getConnection().getTable(tableName)) { + numOfRows = countRows(table); + } + // take snapshot + admin.snapshot("snap", tableName); + admin.disableTable(tableName); + admin.truncateTable(tableName, false); + admin.disableTable(tableName); + admin.restoreSnapshot("snap"); - admin.enableTable(tableName); - verifyRowCount(TEST_UTIL, tableName, numOfRows); - SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, numReplicas); + admin.enableTable(tableName); + verifyRowCount(TEST_UTIL, tableName, numOfRows); + SnapshotTestingUtils.verifyReplicasCameOnline(tableName, admin, numReplicas); + } finally { + TEST_UTIL.deleteTable(tableName); + } } }