You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by li...@apache.org on 2026/04/25 15:38:45 UTC
(hbase) branch branch-2.6 updated: HBASE-30067 Upgrade hbase-server to use junit5 Part10 (#8121) (#8136)
This is an automated email from the ASF dual-hosted git repository.
liuxiaocs7 pushed a commit to branch branch-2.6
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.6 by this push:
new f28d09e80ca HBASE-30067 Upgrade hbase-server to use junit5 Part10 (#8121) (#8136)
f28d09e80ca is described below
commit f28d09e80caa12987b95e024b39507a0124a39ef
Author: Xiao Liu <li...@apache.org>
AuthorDate: Sat Apr 25 23:38:39 2026 +0800
HBASE-30067 Upgrade hbase-server to use junit5 Part10 (#8121) (#8136)
Signed-off-by: Duo Zhang <zh...@apache.org>
(cherry picked from commit 73f8114c1aff64023a2cf7fc85c23b0d3f0b27ee)
(cherry picked from commit d46b11ed2f02287596c77f50a2d8c058a5a12e76)
---
.../apache/hadoop/hbase/rsgroup/RSGroupUtil.java | 1 -
...leRSGroups.java => EnableRSGroupsTestBase.java} | 29 ++---
.../hadoop/hbase/rsgroup/TestRSGroupConfig.java | 36 ++----
.../hbase/rsgroup/TestRSGroupMappingScript.java | 32 +++--
.../hadoop/hbase/rsgroup/TestRSGroupsAdmin1.java | 79 +++++-------
.../hadoop/hbase/rsgroup/TestRSGroupsAdmin2.java | 77 ++++++------
.../hadoop/hbase/rsgroup/TestRSGroupsBalance.java | 39 +++---
.../hadoop/hbase/rsgroup/TestRSGroupsBase.java | 24 ++--
.../hadoop/hbase/rsgroup/TestRSGroupsBasics.java | 44 +++----
.../hadoop/hbase/rsgroup/TestRSGroupsFallback.java | 35 +++---
.../hadoop/hbase/rsgroup/TestRSGroupsKillRS.java | 37 +++---
.../hbase/rsgroup/TestRSGroupsOfflineMode.java | 39 +++---
.../hadoop/hbase/rsgroup/TestRSGroupsWithACL.java | 25 ++--
.../rsgroup/TestTableDescriptorWithRSGroup.java | 99 +++++++--------
.../rsgroup/TestUpdateRSGroupConfiguration.java | 41 +++---
...leRpcServer.java => AbstractTestRpcServer.java} | 58 ++-------
.../apache/hadoop/hbase/ipc/TestBufferChain.java | 27 ++--
.../apache/hadoop/hbase/ipc/TestCallRunner.java | 56 ++++-----
.../hadoop/hbase/ipc/TestFifoRpcScheduler.java | 19 ++-
.../apache/hadoop/hbase/ipc/TestHBaseClient.java | 49 ++++----
.../hbase/ipc/TestMasterFifoRpcScheduler.java | 28 ++---
.../hbase/ipc/TestMultipleServerPrincipalsIPC.java | 70 +++++------
.../hbase/ipc/TestNettyChannelWritability.java | 21 ++--
.../hbase/ipc/TestNettyIPCCloseConnection.java | 25 ++--
.../hadoop/hbase/ipc/TestNettyRpcServer.java | 77 ++++++------
.../apache/hadoop/hbase/ipc/TestProtoBufRpc.java | 56 ++++-----
.../hadoop/hbase/ipc/TestRWQueueRpcExecutor.java | 41 +++---
.../hadoop/hbase/ipc/TestRpcClientLeaks.java | 43 +++----
.../hadoop/hbase/ipc/TestRpcHandlerException.java | 39 +++---
.../apache/hadoop/hbase/ipc/TestRpcMetrics.java | 15 +--
.../ipc/TestRpcServerSlowConnectionSetup.java | 48 ++++---
.../hbase/ipc/TestRpcServerTraceLogging.java | 22 ++--
.../hbase/ipc/TestRpcSkipInitialSaslHandshake.java | 29 ++---
.../hadoop/hbase/ipc/TestSecureNettyRpcServer.java | 40 +++---
.../hbase/ipc/TestSecureSimpleRpcServer.java | 46 +++----
.../hbase/ipc/TestSecurityRpcSentBytesMetrics.java | 27 ++--
.../apache/hadoop/hbase/ipc/TestServerCall.java | 35 +++---
.../hadoop/hbase/ipc/TestSimpleRpcScheduler.java | 52 ++++----
.../hadoop/hbase/ipc/TestSimpleRpcServer.java | 82 +++---------
.../org/apache/hadoop/hbase/mob/MobTestUtil.java | 18 +--
.../apache/hadoop/hbase/mob/TestCachedMobFile.java | 35 ++----
.../hbase/mob/TestDefaultMobStoreFlusher.java | 65 +++++-----
.../hbase/mob/TestExpiredMobFileCleaner.java | 40 +++---
.../hbase/mob/TestExpiredMobFileCleanerChore.java | 53 ++++----
.../hadoop/hbase/mob/TestMobCompactionOptMode.java | 11 +-
.../mob/TestMobCompactionOptRegionBatchMode.java | 23 ++--
.../TestMobCompactionRegularRegionBatchMode.java | 23 ++--
.../hbase/mob/TestMobCompactionWithDefaults.java | 100 +++++++--------
.../hbase/mob/TestMobCompactionWithException.java | 48 ++++---
.../hadoop/hbase/mob/TestMobDataBlockEncoding.java | 20 ++-
.../org/apache/hadoop/hbase/mob/TestMobFile.java | 31 ++---
.../apache/hadoop/hbase/mob/TestMobFileCache.java | 24 ++--
.../hadoop/hbase/mob/TestMobFileCleanupUtil.java | 25 ++--
.../apache/hadoop/hbase/mob/TestMobFileLink.java | 31 ++---
.../apache/hadoop/hbase/mob/TestMobFileName.java | 24 ++--
.../hadoop/hbase/mob/TestMobStoreCompaction.java | 140 ++++++++++-----------
.../hadoop/hbase/mob/TestMobStoreScanner.java | 88 ++++++-------
.../org/apache/hadoop/hbase/mob/TestMobUtils.java | 21 ++--
.../hbase/mob/TestMobWithByteBuffAllocator.java | 28 ++---
.../hbase/mob/TestRSMobFileCleanerChore.java | 25 ++--
.../hbase/namespace/TestNamespaceAuditor.java | 110 ++++++++--------
61 files changed, 1121 insertions(+), 1504 deletions(-)
diff --git a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupUtil.java b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupUtil.java
index 4e4d88fe23d..442529c0927 100644
--- a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupUtil.java
+++ b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupUtil.java
@@ -35,5 +35,4 @@ public final class RSGroupUtil {
}
return false;
}
-
}
diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestEnableRSGroups.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/EnableRSGroupsTestBase.java
similarity index 81%
rename from hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestEnableRSGroups.java
rename to hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/EnableRSGroupsTestBase.java
index c17efb74b73..0d73e01460c 100644
--- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestEnableRSGroups.java
+++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/EnableRSGroupsTestBase.java
@@ -18,46 +18,34 @@
package org.apache.hadoop.hbase.rsgroup;
import static java.lang.Thread.sleep;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;
-import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-/**
- * Test enable RSGroup
- */
-@Category({ MediumTests.class })
-public class TestEnableRSGroups {
-
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestEnableRSGroups.class);
+public abstract class EnableRSGroupsTestBase {
- protected static final Logger LOG = LoggerFactory.getLogger(TestEnableRSGroups.class);
+ protected static final Logger LOG = LoggerFactory.getLogger(EnableRSGroupsTestBase.class);
private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
final Configuration conf = TEST_UTIL.getConfiguration();
conf.setBoolean(CoprocessorHost.COPROCESSORS_ENABLED_CONF_KEY, true);
TEST_UTIL.startMiniCluster(5);
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
LOG.info("to stop miniCluster");
TEST_UTIL.shutdownMiniCluster();
@@ -91,5 +79,4 @@ public class TestEnableRSGroups {
assertTrue(loadBalancer.isOnline());
}
-
}
diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupConfig.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupConfig.java
index c066002427a..6c735b92cb9 100644
--- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupConfig.java
+++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupConfig.java
@@ -17,44 +17,34 @@
*/
package org.apache.hadoop.hbase.rsgroup;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.constraint.ConstraintException;
import org.apache.hadoop.hbase.testclassification.MediumTests;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category(MediumTests.class)
+@Tag(MediumTests.TAG)
public class TestRSGroupConfig extends TestRSGroupsBase {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRSGroupConfig.class);
-
- @Rule
- public TestName name = new TestName();
-
protected static final Logger LOG = LoggerFactory.getLogger(TestRSGroupConfig.class);
- @BeforeClass
+ @BeforeAll
public static void setUpBeforeClass() throws Exception {
TestRSGroupsBase.setUpTestBeforeClass();
}
- @AfterClass
+ @AfterAll
public static void tearDownAfterClass() throws Exception {
TestRSGroupsBase.tearDownAfterClass();
}
@@ -65,8 +55,8 @@ public class TestRSGroupConfig extends TestRSGroupsBase {
}
@Test
- public void testSetNonDefaultGroupConfiguration() throws IOException {
- String group = getGroupName(name.getMethodName());
+ public void testSetNonDefaultGroupConfiguration(TestInfo testInfo) throws IOException {
+ String group = getGroupName(testInfo.getTestMethod().get().getName());
rsGroupAdmin.addRSGroup(group);
testSetConfiguration(group);
rsGroupAdmin.removeRSGroup(group);
diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupMappingScript.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupMappingScript.java
index 8a72b9a594f..9c229ca526b 100644
--- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupMappingScript.java
+++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupMappingScript.java
@@ -17,45 +17,41 @@
*/
package org.apache.hadoop.hbase.rsgroup;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.rsgroup.RSGroupInfoManagerImpl.RSGroupMappingScript;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.After;
-import org.junit.Assert;
-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.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category({ SmallTests.class })
+@Tag(SmallTests.TAG)
public class TestRSGroupMappingScript {
private static final Logger LOG = LoggerFactory.getLogger(TestRSGroupMappingScript.class);
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRSGroupMappingScript.class);
private static final HBaseTestingUtility UTIL = new HBaseTestingUtility();
private File script;
- @BeforeClass
+ @BeforeAll
public static void setupScript() throws Exception {
String currentDir = new File("").getAbsolutePath();
UTIL.getConfiguration().set(RSGroupMappingScript.RS_GROUP_MAPPING_SCRIPT,
currentDir + "/rsgroup_table_mapping.sh");
}
- @Before
+ @BeforeEach
public void setup() throws Exception {
script = new File(UTIL.getConfiguration().get(RSGroupMappingScript.RS_GROUP_MAPPING_SCRIPT));
if (!script.createNewFile()) {
@@ -97,19 +93,19 @@ public class TestRSGroupMappingScript {
TableName testNamespace = TableName.valueOf("test", "should_be_in_test");
String rsgroup =
script.getRSGroup(testNamespace.getNamespaceAsString(), testNamespace.getQualifierAsString());
- Assert.assertEquals("test", rsgroup);
+ assertEquals("test", rsgroup);
TableName otherName = TableName.valueOf("whatever", "oh_foo_should_be_in_other");
rsgroup = script.getRSGroup(otherName.getNamespaceAsString(), otherName.getQualifierAsString());
- Assert.assertEquals("other", rsgroup);
+ assertEquals("other", rsgroup);
TableName defaultName = TableName.valueOf("nono", "should_be_in_default");
rsgroup =
script.getRSGroup(defaultName.getNamespaceAsString(), defaultName.getQualifierAsString());
- Assert.assertEquals("default", rsgroup);
+ assertEquals("default", rsgroup);
}
- @After
+ @AfterEach
public void teardown() throws Exception {
if (script.exists()) {
script.delete();
diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin1.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin1.java
index 6bfe9578604..8e6a141a518 100644
--- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin1.java
+++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin1.java
@@ -17,12 +17,12 @@
*/
package org.apache.hadoop.hbase.rsgroup;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
import java.io.IOException;
import java.util.Iterator;
@@ -30,7 +30,6 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.SortedSet;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.NamespaceDescriptor;
import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.TableExistsException;
@@ -49,44 +48,39 @@ import org.apache.hadoop.hbase.net.Address;
import org.apache.hadoop.hbase.quotas.QuotaUtil;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Assert;
-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.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hbase.thirdparty.com.google.common.collect.Sets;
-@Category({ MediumTests.class })
+@Tag(MediumTests.TAG)
public class TestRSGroupsAdmin1 extends TestRSGroupsBase {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRSGroupsAdmin1.class);
-
protected static final Logger LOG = LoggerFactory.getLogger(TestRSGroupsAdmin1.class);
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
setUpTestBeforeClass();
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
tearDownAfterClass();
}
- @Before
- public void beforeMethod() throws Exception {
- setUpBeforeMethod();
+ @BeforeEach
+ public void beforeMethod(TestInfo testInfo) throws Exception {
+ setUpBeforeMethod(testInfo);
}
- @After
+ @AfterEach
public void afterMethod() throws Exception {
tearDownAfterMethod();
}
@@ -224,7 +218,7 @@ public class TestRSGroupsAdmin1 extends TestRSGroupsBase {
rsGroupAdmin.moveServers(barGroup.getServers(), RSGroupInfo.DEFAULT_GROUP);
rsGroupAdmin.removeRSGroup(barGroup.getName());
- Assert.assertEquals(initNumGroups, rsGroupAdmin.listRSGroups().size());
+ assertEquals(initNumGroups, rsGroupAdmin.listRSGroups().size());
}
@Test
@@ -263,11 +257,9 @@ public class TestRSGroupsAdmin1 extends TestRSGroupsBase {
rsGroupAdmin.moveTables(Sets.newHashSet(tableNameA, tableNameB), newGroup.getName());
// verify group change
- Assert.assertEquals(newGroup.getName(),
- rsGroupAdmin.getRSGroupInfoOfTable(tableNameA).getName());
+ assertEquals(newGroup.getName(), rsGroupAdmin.getRSGroupInfoOfTable(tableNameA).getName());
- Assert.assertEquals(newGroup.getName(),
- rsGroupAdmin.getRSGroupInfoOfTable(tableNameB).getName());
+ assertEquals(newGroup.getName(), rsGroupAdmin.getRSGroupInfoOfTable(tableNameB).getName());
// verify tables' not exist in old group
Set<TableName> DefaultTables =
@@ -308,8 +300,7 @@ public class TestRSGroupsAdmin1 extends TestRSGroupsBase {
rsGroupAdmin.moveTables(Sets.newHashSet(tableName), newGroup.getName());
// verify group change
- Assert.assertEquals(newGroup.getName(),
- rsGroupAdmin.getRSGroupInfoOfTable(tableName).getName());
+ assertEquals(newGroup.getName(), rsGroupAdmin.getRSGroupInfoOfTable(tableName).getName());
TEST_UTIL.waitFor(WAIT_TIMEOUT, new Waiter.Predicate<Exception>() {
@Override
@@ -330,13 +321,12 @@ public class TestRSGroupsAdmin1 extends TestRSGroupsBase {
// test truncate
admin.disableTable(tableName);
admin.truncateTable(tableName, true);
- Assert.assertEquals(1, rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getTables().size());
- Assert.assertEquals(tableName,
- rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getTables().first());
+ assertEquals(1, rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getTables().size());
+ assertEquals(tableName, rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getTables().first());
// verify removed table is removed from group
TEST_UTIL.deleteTable(tableName);
- Assert.assertEquals(0, rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getTables().size());
+ assertEquals(0, rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getTables().size());
assertTrue(observer.preMoveTablesCalled);
assertTrue(observer.postMoveTablesCalled);
@@ -371,8 +361,7 @@ public class TestRSGroupsAdmin1 extends TestRSGroupsBase {
rsGroupAdmin.moveTables(Sets.newHashSet(tableName), newGroup.getName());
// verify group change
- Assert.assertEquals(newGroup.getName(),
- rsGroupAdmin.getRSGroupInfoOfTable(tableName).getName());
+ assertEquals(newGroup.getName(), rsGroupAdmin.getRSGroupInfoOfTable(tableName).getName());
}
@Test
@@ -427,13 +416,13 @@ public class TestRSGroupsAdmin1 extends TestRSGroupsBase {
try {
admin.createTable(tableDescTwo, Bytes.toBytes("AAA"), Bytes.toBytes("ZZZ"), 6);
- Assert.fail("Creation table should fail because of quota violation.");
+ fail("Creation table should fail because of quota violation.");
} catch (Exception exp) {
assertTrue(exp instanceof IOException);
constraintViolated = true;
} finally {
- assertTrue("Constraint not violated for table " + tableDescTwo.getTableName(),
- constraintViolated);
+ assertTrue(constraintViolated,
+ "Constraint not violated for table " + tableDescTwo.getTableName());
}
List<RSGroupInfo> rsGroupInfoList = rsGroupAdmin.listRSGroups();
boolean foundTable2 = false;
@@ -446,8 +435,8 @@ public class TestRSGroupsAdmin1 extends TestRSGroupsBase {
foundTable1 = true;
}
}
- assertFalse("Found table2 in rsgroup list.", foundTable2);
- assertTrue("Did not find table1 in rsgroup list", foundTable1);
+ assertFalse(foundTable2, "Found table2 in rsgroup list.");
+ assertTrue(foundTable1, "Did not find table1 in rsgroup list");
TEST_UTIL.deleteTable(tableDescOne.getTableName());
admin.deleteNamespace(nspDesc.getName());
@@ -480,7 +469,7 @@ public class TestRSGroupsAdmin1 extends TestRSGroupsBase {
});
SortedSet<TableName> tables =
rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP).getTables();
- assertTrue("Table 't1' must be in 'default' rsgroup", tables.contains(tn1));
+ assertTrue(tables.contains(tn1), "Table 't1' must be in 'default' rsgroup");
// Cleanup
TEST_UTIL.deleteTable(tn1);
diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin2.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin2.java
index d0cc014d82d..73951f2e922 100644
--- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin2.java
+++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin2.java
@@ -18,10 +18,10 @@
package org.apache.hadoop.hbase.rsgroup;
import static org.apache.hadoop.hbase.util.Threads.sleep;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+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 static org.junit.jupiter.api.Assertions.fail;
import java.io.IOException;
import java.util.ArrayList;
@@ -32,7 +32,6 @@ import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.hadoop.hbase.ClusterMetrics.Option;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.Waiter;
@@ -44,44 +43,39 @@ import org.apache.hadoop.hbase.net.Address;
import org.apache.hadoop.hbase.testclassification.LargeTests;
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.Assert;
-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.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hbase.thirdparty.com.google.common.collect.Sets;
-@Category({ LargeTests.class })
+@Tag(LargeTests.TAG)
public class TestRSGroupsAdmin2 extends TestRSGroupsBase {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRSGroupsAdmin2.class);
-
protected static final Logger LOG = LoggerFactory.getLogger(TestRSGroupsAdmin2.class);
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
setUpTestBeforeClass();
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
tearDownAfterClass();
}
- @Before
- public void beforeMethod() throws Exception {
- setUpBeforeMethod();
+ @BeforeEach
+ public void beforeMethod(TestInfo testInfo) throws Exception {
+ setUpBeforeMethod(testInfo);
}
- @After
+ @AfterEach
public void afterMethod() throws Exception {
tearDownAfterMethod();
}
@@ -159,7 +153,7 @@ public class TestRSGroupsAdmin2 extends TestRSGroupsBase {
RSGroupInfo appInfo = addGroup(getGroupName(name.getMethodName()), 1);
RSGroupInfo adminInfo = addGroup(getGroupName(name.getMethodName()), 1);
RSGroupInfo dInfo = rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP);
- Assert.assertEquals(initNumGroups + 2, rsGroupAdmin.listRSGroups().size());
+ assertEquals(initNumGroups + 2, rsGroupAdmin.listRSGroups().size());
assertEquals(1, adminInfo.getServers().size());
assertEquals(1, appInfo.getServers().size());
assertEquals(getNumServers() - 2, dInfo.getServers().size());
@@ -167,7 +161,7 @@ public class TestRSGroupsAdmin2 extends TestRSGroupsBase {
rsGroupAdmin.removeRSGroup(appInfo.getName());
rsGroupAdmin.moveServers(adminInfo.getServers(), RSGroupInfo.DEFAULT_GROUP);
rsGroupAdmin.removeRSGroup(adminInfo.getName());
- Assert.assertEquals(rsGroupAdmin.listRSGroups().size(), initNumGroups);
+ assertEquals(rsGroupAdmin.listRSGroups().size(), initNumGroups);
}
@Test
@@ -188,7 +182,7 @@ public class TestRSGroupsAdmin2 extends TestRSGroupsBase {
} catch (IOException ex) {
String exp = "Server foo:9999 is either offline or it does not exist.";
String msg = "Expected '" + exp + "' in exception message: ";
- assertTrue(msg + " " + ex.getMessage(), ex.getMessage().contains(exp));
+ assertTrue(ex.getMessage().contains(exp), msg + " " + ex.getMessage());
}
// test success case
@@ -217,10 +211,10 @@ public class TestRSGroupsAdmin2 extends TestRSGroupsBase {
// test group removal
LOG.info("Remove group " + barGroup.getName());
rsGroupAdmin.removeRSGroup(barGroup.getName());
- Assert.assertEquals(null, rsGroupAdmin.getRSGroupInfo(barGroup.getName()));
+ assertEquals(null, rsGroupAdmin.getRSGroupInfo(barGroup.getName()));
LOG.info("Remove group " + fooGroup.getName());
rsGroupAdmin.removeRSGroup(fooGroup.getName());
- Assert.assertEquals(null, rsGroupAdmin.getRSGroupInfo(fooGroup.getName()));
+ assertEquals(null, rsGroupAdmin.getRSGroupInfo(fooGroup.getName()));
}
@Test
@@ -238,7 +232,7 @@ public class TestRSGroupsAdmin2 extends TestRSGroupsBase {
String exp =
"Server " + targetServer.getAddress() + " is an online server, not allowed to remove.";
String msg = "Expected '" + exp + "' in exception message: ";
- assertTrue(msg + " " + ex.getMessage(), ex.getMessage().contains(exp));
+ assertTrue(ex.getMessage().contains(exp), msg + " " + ex.getMessage());
}
assertTrue(newGroup.getServers().contains(targetServer.getAddress()));
@@ -269,7 +263,7 @@ public class TestRSGroupsAdmin2 extends TestRSGroupsBase {
String exp = "Server " + targetServer.getAddress() + " is on the dead servers list,"
+ " Maybe it will come back again, not allowed to remove.";
String msg = "Expected '" + exp + "' in exception message: ";
- assertTrue(msg + " " + ex.getMessage(), ex.getMessage().contains(exp));
+ assertTrue(ex.getMessage().contains(exp), msg + " " + ex.getMessage());
}
assertTrue(newGroup.getServers().contains(targetServer.getAddress()));
@@ -338,7 +332,7 @@ public class TestRSGroupsAdmin2 extends TestRSGroupsBase {
} catch (IOException ex) {
String exp = "Server foo:9999 is either offline or it does not exist.";
String msg = "Expected '" + exp + "' in exception message: ";
- assertTrue(msg + " " + ex.getMessage(), ex.getMessage().contains(exp));
+ assertTrue(ex.getMessage().contains(exp), msg + " " + ex.getMessage());
}
// test move when src = dst
@@ -346,14 +340,14 @@ public class TestRSGroupsAdmin2 extends TestRSGroupsBase {
Sets.newHashSet(tableName), RSGroupInfo.DEFAULT_GROUP);
// verify default group info
- Assert.assertEquals(oldDefaultGroupServerSize,
+ assertEquals(oldDefaultGroupServerSize,
rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP).getServers().size());
- Assert.assertEquals(oldDefaultGroupTableSize,
+ assertEquals(oldDefaultGroupTableSize,
rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP).getTables().size());
// verify new group info
- Assert.assertEquals(1, rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getServers().size());
- Assert.assertEquals(0, rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getTables().size());
+ assertEquals(1, rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getServers().size());
+ assertEquals(0, rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getTables().size());
// get all region to move targetServer
List<String> regionList = getTableRegionMap().get(tableName);
@@ -375,7 +369,7 @@ public class TestRSGroupsAdmin2 extends TestRSGroupsBase {
});
// verify that all region move to targetServer
- Assert.assertEquals(5, getTableServerRegionMap().get(tableName).get(targetServer).size());
+ assertEquals(5, getTableServerRegionMap().get(tableName).get(targetServer).size());
// move targetServer and table to newGroup
LOG.info("moving server and table to newGroup");
@@ -383,8 +377,7 @@ public class TestRSGroupsAdmin2 extends TestRSGroupsBase {
Sets.newHashSet(tableName), newGroup.getName());
// verify group change
- Assert.assertEquals(newGroup.getName(),
- rsGroupAdmin.getRSGroupInfoOfTable(tableName).getName());
+ assertEquals(newGroup.getName(), rsGroupAdmin.getRSGroupInfoOfTable(tableName).getName());
// verify servers' not exist in old group
Set<Address> defaultServers =
@@ -405,7 +398,7 @@ public class TestRSGroupsAdmin2 extends TestRSGroupsBase {
assertTrue(newGroupTables.contains(tableName));
// verify that all region still assgin on targetServer
- Assert.assertEquals(5, getTableServerRegionMap().get(tableName).get(targetServer).size());
+ assertEquals(5, getTableServerRegionMap().get(tableName).get(targetServer).size());
assertTrue(observer.preMoveServersAndTables);
assertTrue(observer.postMoveServersAndTables);
@@ -455,7 +448,7 @@ public class TestRSGroupsAdmin2 extends TestRSGroupsBase {
// test group removal
LOG.info("Remove group " + fooGroup.getName());
rsGroupAdmin.removeRSGroup(fooGroup.getName());
- Assert.assertEquals(null, rsGroupAdmin.getRSGroupInfo(fooGroup.getName()));
+ assertEquals(null, rsGroupAdmin.getRSGroupInfo(fooGroup.getName()));
}
@Test
@@ -673,7 +666,7 @@ public class TestRSGroupsAdmin2 extends TestRSGroupsBase {
// This test case is meant to be used for verifying the performance quickly by a developer.
// Moving 100 regions takes much less than 15000 ms. Given 15000 ms so test cases passes
// on all environment.
- assertTrue(msg, timeTaken < 15000);
+ assertTrue(timeTaken < 15000, msg);
LOG.info("Time taken to move a table with 100 region is {} ms", timeTaken);
}
}
diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBalance.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBalance.java
index c2a7ac92d3e..d156d198d60 100644
--- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBalance.java
+++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBalance.java
@@ -17,13 +17,12 @@
*/
package org.apache.hadoop.hbase.rsgroup;
-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.List;
import java.util.Map;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.NamespaceDescriptor;
import org.apache.hadoop.hbase.ServerName;
@@ -39,43 +38,39 @@ import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
import org.apache.hadoop.hbase.master.HMaster;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.After;
-import org.junit.AfterClass;
-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.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hbase.thirdparty.com.google.common.collect.Sets;
-@Category({ MediumTests.class })
+@Tag(MediumTests.TAG)
public class TestRSGroupsBalance extends TestRSGroupsBase {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRSGroupsBalance.class);
-
protected static final Logger LOG = LoggerFactory.getLogger(TestRSGroupsBalance.class);
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
setUpTestBeforeClass();
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
tearDownAfterClass();
}
- @Before
- public void beforeMethod() throws Exception {
- setUpBeforeMethod();
+ @BeforeEach
+ public void beforeMethod(TestInfo testInfo) throws Exception {
+ setUpBeforeMethod(testInfo);
}
- @After
+ @AfterEach
public void afterMethod() throws Exception {
tearDownAfterMethod();
}
diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBase.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBase.java
index ee8d30448af..54946f303bb 100644
--- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBase.java
+++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBase.java
@@ -17,7 +17,7 @@
*/
package org.apache.hadoop.hbase.rsgroup;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.ArrayList;
@@ -57,8 +57,7 @@ import org.apache.hadoop.hbase.master.MasterCoprocessorHost;
import org.apache.hadoop.hbase.master.ServerManager;
import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;
import org.apache.hadoop.hbase.net.Address;
-import org.junit.Rule;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.TestInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -87,9 +86,20 @@ public abstract class TestRSGroupsBase extends AbstractTestUpdateConfiguration {
public final static int NUM_SLAVES_BASE = 4; // number of slaves for the smallest cluster
public static int NUM_DEAD_SERVERS = 0;
+ protected static final class MethodName {
+ private String methodName;
+
+ public String getMethodName() {
+ return methodName;
+ }
+
+ void setMethodName(String methodName) {
+ this.methodName = methodName;
+ }
+ }
+
// Per test variables
- @Rule
- public TestName name = new TestName();
+ protected final MethodName name = new MethodName();
protected TableName tableName;
public static void setUpTestBeforeClass() throws Exception {
@@ -131,7 +141,8 @@ public abstract class TestRSGroupsBase extends AbstractTestUpdateConfiguration {
TEST_UTIL.shutdownMiniCluster();
}
- public void setUpBeforeMethod() throws Exception {
+ public void setUpBeforeMethod(TestInfo testInfo) throws Exception {
+ name.setMethodName(testInfo.getTestMethod().get().getName());
LOG.info(name.getMethodName());
tableName = TableName.valueOf(tablePrefix + "_" + name.getMethodName());
if (!INIT) {
@@ -487,5 +498,4 @@ public abstract class TestRSGroupsBase extends AbstractTestUpdateConfiguration {
postGetRSGroupInfoOfServerCalled = true;
}
}
-
}
diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBasics.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBasics.java
index 028cd4e66b8..b30486cdc2d 100644
--- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBasics.java
+++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBasics.java
@@ -17,17 +17,16 @@
*/
package org.apache.hadoop.hbase.rsgroup;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+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 static org.junit.jupiter.api.Assertions.fail;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.NamespaceDescriptor;
import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.TableName;
@@ -40,44 +39,39 @@ import org.apache.hadoop.hbase.quotas.QuotaTableUtil;
import org.apache.hadoop.hbase.quotas.QuotaUtil;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Assert;
-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.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
-@Category({ MediumTests.class })
+@Tag(MediumTests.TAG)
public class TestRSGroupsBasics extends TestRSGroupsBase {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRSGroupsBasics.class);
-
protected static final Logger LOG = LoggerFactory.getLogger(TestRSGroupsBasics.class);
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
setUpTestBeforeClass();
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
tearDownAfterClass();
}
- @Before
- public void beforeMethod() throws Exception {
- setUpBeforeMethod();
+ @BeforeEach
+ public void beforeMethod(TestInfo testInfo) throws Exception {
+ setUpBeforeMethod(testInfo);
}
- @After
+ @AfterEach
public void afterMethod() throws Exception {
tearDownAfterMethod();
}
@@ -133,7 +127,7 @@ public class TestRSGroupsBasics extends TestRSGroupsBase {
});
ServerName targetServer = getServerName(appInfo.getServers().iterator().next());
// verify it was assigned to the right group
- Assert.assertEquals(1, admin.getRegions(targetServer).size());
+ assertEquals(1, admin.getRegions(targetServer).size());
}
@Test
diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsFallback.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsFallback.java
index 12cc5df1cab..028ae5b6f1b 100644
--- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsFallback.java
+++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsFallback.java
@@ -17,12 +17,11 @@
*/
package org.apache.hadoop.hbase.rsgroup;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.Collections;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
@@ -34,28 +33,24 @@ import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.JVMClusterUtil;
-import org.junit.After;
-import org.junit.AfterClass;
-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.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category(MediumTests.class)
+@Tag(MediumTests.TAG)
public class TestRSGroupsFallback extends TestRSGroupsBase {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRSGroupsFallback.class);
-
protected static final Logger LOG = LoggerFactory.getLogger(TestRSGroupsFallback.class);
private static final String FALLBACK_GROUP = "fallback";
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
Configuration conf = TEST_UTIL.getConfiguration();
conf.setBoolean(RSGroupBasedLoadBalancer.FALLBACK_GROUP_ENABLE_KEY, true);
@@ -64,17 +59,17 @@ public class TestRSGroupsFallback extends TestRSGroupsBase {
master.balanceSwitch(true);
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
tearDownAfterClass();
}
- @Before
- public void beforeMethod() throws Exception {
- setUpBeforeMethod();
+ @BeforeEach
+ public void beforeMethod(TestInfo testInfo) throws Exception {
+ setUpBeforeMethod(testInfo);
}
- @After
+ @AfterEach
public void afterMethod() throws Exception {
tearDownAfterMethod();
}
diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsKillRS.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsKillRS.java
index 3f82362a1ba..ac7253b3948 100644
--- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsKillRS.java
+++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsKillRS.java
@@ -18,8 +18,8 @@
package org.apache.hadoop.hbase.rsgroup;
import static org.apache.hadoop.hbase.util.Threads.sleep;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.lang.reflect.Field;
import java.util.ArrayList;
@@ -27,7 +27,6 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.NamespaceDescriptor;
import org.apache.hadoop.hbase.ServerName;
@@ -46,28 +45,24 @@ import org.apache.hadoop.hbase.testclassification.LargeTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.JVMClusterUtil;
import org.apache.hadoop.hbase.util.VersionInfo;
-import org.junit.After;
-import org.junit.AfterClass;
-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.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hbase.thirdparty.com.google.common.collect.Sets;
-@Category(LargeTests.class)
+@Tag(LargeTests.TAG)
public class TestRSGroupsKillRS extends TestRSGroupsBase {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRSGroupsKillRS.class);
-
protected static final Logger LOG = LoggerFactory.getLogger(TestRSGroupsKillRS.class);
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
// avoid all the handlers blocked when meta is offline, and regionServerReport can not be
// processed which causes dead lock.
@@ -77,17 +72,17 @@ public class TestRSGroupsKillRS extends TestRSGroupsBase {
setUpTestBeforeClass();
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
tearDownAfterClass();
}
- @Before
- public void beforeMethod() throws Exception {
- setUpBeforeMethod();
+ @BeforeEach
+ public void beforeMethod(TestInfo testInfo) throws Exception {
+ setUpBeforeMethod(testInfo);
}
- @After
+ @AfterEach
public void afterMethod() throws Exception {
tearDownAfterMethod();
}
diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsOfflineMode.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsOfflineMode.java
index 0d1810101a3..5a161534341 100644
--- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsOfflineMode.java
+++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsOfflineMode.java
@@ -17,10 +17,9 @@
*/
package org.apache.hadoop.hbase.rsgroup;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCluster;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
@@ -36,14 +35,11 @@ import org.apache.hadoop.hbase.master.ServerManager;
import org.apache.hadoop.hbase.regionserver.HRegionServer;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -56,12 +52,8 @@ import org.apache.hbase.thirdparty.com.google.common.collect.Sets;
// table isn't available. It then kills the active master and waits for backup master to come
// online. In new master, RSGroupInfoManagerImpl gets the data from zk and waits for the expected
// assignment with a timeout.
-@Category(MediumTests.class)
-public class TestRSGroupsOfflineMode {
-
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRSGroupsOfflineMode.class);
+@Tag(MediumTests.TAG)
+public class TestRSGroupsOfflineMode extends TestRSGroupsBase {
private static final Logger LOG = LoggerFactory.getLogger(TestRSGroupsOfflineMode.class);
private static HMaster master;
@@ -70,10 +62,7 @@ public class TestRSGroupsOfflineMode {
private static HBaseCluster cluster;
private final static long WAIT_TIMEOUT = 60000 * 5;
- @Rule
- public TestName name = new TestName();
-
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
TEST_UTIL = new HBaseTestingUtility();
TEST_UTIL.getConfiguration().set(HConstants.HBASE_MASTER_LOADBALANCER_CLASS,
@@ -99,15 +88,15 @@ public class TestRSGroupsOfflineMode {
});
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
TEST_UTIL.shutdownMiniCluster();
}
@Test
- public void testOffline() throws Exception, InterruptedException {
+ public void testOffline(TestInfo testInfo) throws Exception, InterruptedException {
// Table should be after group table name so it gets assigned later.
- final TableName failoverTable = TableName.valueOf(name.getMethodName());
+ final TableName failoverTable = TableName.valueOf(testInfo.getTestMethod().get().getName());
TEST_UTIL.createTable(failoverTable, Bytes.toBytes("f"));
final HRegionServer killRS = ((MiniHBaseCluster) cluster).getRegionServer(0);
final HRegionServer groupRS = ((MiniHBaseCluster) cluster).getRegionServer(1);
@@ -185,7 +174,7 @@ public class TestRSGroupsOfflineMode {
return failoverRS.getRegions(failoverTable).size() >= 1;
}
});
- Assert.assertEquals(0, failoverRS.getRegions(RSGroupInfoManager.RSGROUP_TABLE_NAME).size());
+ assertEquals(0, failoverRS.getRegions(RSGroupInfoManager.RSGROUP_TABLE_NAME).size());
// Need this for minicluster to shutdown cleanly.
master.stopMaster();
diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsWithACL.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsWithACL.java
index 700d03c3cbf..cfb7f83ba85 100644
--- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsWithACL.java
+++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsWithACL.java
@@ -18,11 +18,10 @@
package org.apache.hadoop.hbase.rsgroup;
import static org.apache.hadoop.hbase.AuthUtil.toGroupEntry;
-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 org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.TableName;
@@ -41,11 +40,10 @@ import org.apache.hadoop.hbase.security.access.SecureTestUtil;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.SecurityTests;
import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -53,13 +51,10 @@ import org.slf4j.LoggerFactory;
* Performs authorization checks for rsgroup operations, according to different levels of authorized
* users.
*/
-@Category({ SecurityTests.class, MediumTests.class })
+@Tag(SecurityTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRSGroupsWithACL extends SecureTestUtil {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRSGroupsWithACL.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestRSGroupsWithACL.class);
private static TableName TEST_TABLE = TableName.valueOf("testtable1");
private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
@@ -95,7 +90,7 @@ public class TestRSGroupsWithACL extends SecureTestUtil {
private static RSGroupAdminEndpoint rsGroupAdminEndpoint;
- @BeforeClass
+ @BeforeAll
public static void setupBeforeClass() throws Exception {
// setup configuration
conf = TEST_UTIL.getConfiguration();
@@ -194,7 +189,7 @@ public class TestRSGroupsWithACL extends SecureTestUtil {
PermissionStorage.getNamespacePermissions(conf, TEST_TABLE.getNamespaceAsString()).size());
}
- @AfterClass
+ @AfterAll
public static void tearDownAfterClass() throws Exception {
cleanUp();
TEST_UTIL.shutdownMiniCluster();
diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestTableDescriptorWithRSGroup.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestTableDescriptorWithRSGroup.java
index 38f04e3089f..41df01b4dc6 100644
--- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestTableDescriptorWithRSGroup.java
+++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestTableDescriptorWithRSGroup.java
@@ -17,17 +17,16 @@
*/
package org.apache.hadoop.hbase.rsgroup;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+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 static org.junit.jupiter.api.Assertions.fail;
import java.io.IOException;
import java.util.List;
import java.util.Optional;
import java.util.regex.Pattern;
import org.apache.hadoop.hbase.DoNotRetryIOException;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.Waiter;
import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;
@@ -38,40 +37,37 @@ import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
import org.apache.hadoop.hbase.constraint.ConstraintException;
import org.apache.hadoop.hbase.testclassification.LargeTests;
import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.After;
-import org.junit.AfterClass;
-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.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
import org.apache.hbase.thirdparty.com.google.common.collect.Sets;
-@Category({ LargeTests.class })
+@Tag(LargeTests.TAG)
public class TestTableDescriptorWithRSGroup extends TestRSGroupsBase {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestTableDescriptorWithRSGroup.class);
private final byte[] familyNameBytes = Bytes.toBytes("f1");
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
setUpTestBeforeClass();
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
tearDownAfterClass();
}
- @Before
- public void beforeMethod() throws Exception {
- setUpBeforeMethod();
+ @BeforeEach
+ public void beforeMethod(TestInfo testInfo) throws Exception {
+ setUpBeforeMethod(testInfo);
}
- @After
+ @AfterEach
public void afterMethod() throws Exception {
tearDownAfterMethod();
}
@@ -116,8 +112,8 @@ public class TestTableDescriptorWithRSGroup extends TestRSGroupsBase {
});
TableDescriptor descriptor = admin.getConnection().getTable(tableName).getDescriptor();
Optional<String> regionServerGroup = descriptor.getRegionServerGroup();
- assertTrue("RSGroup info is not updated into TableDescriptor when table is created.",
- regionServerGroup.isPresent());
+ assertTrue(regionServerGroup.isPresent(),
+ "RSGroup info is not updated into TableDescriptor when table is created.");
assertEquals(newGroup, regionServerGroup.get());
}
@@ -130,8 +126,8 @@ public class TestTableDescriptorWithRSGroup extends TestRSGroupsBase {
createTableWithRSGroupDetail(rsGroup1.getName());
TableDescriptor descriptor = admin.getConnection().getTable(tableName).getDescriptor();
Optional<String> regionServerGroup = descriptor.getRegionServerGroup();
- assertTrue("RSGroup info is not updated into TableDescriptor when table created",
- regionServerGroup.isPresent());
+ assertTrue(regionServerGroup.isPresent(),
+ "RSGroup info is not updated into TableDescriptor when table created");
assertEquals(rsGroup1.getName(), regionServerGroup.get());
// moveTables
@@ -139,8 +135,8 @@ public class TestTableDescriptorWithRSGroup extends TestRSGroupsBase {
rsGroupAdmin.moveTables(Sets.newHashSet(tableName), rsGroup2.getName());
descriptor = admin.getConnection().getTable(tableName).getDescriptor();
regionServerGroup = descriptor.getRegionServerGroup();
- assertTrue("RSGroup info is not updated into TableDescriptor when table moved",
- regionServerGroup.isPresent());
+ assertTrue(regionServerGroup.isPresent(),
+ "RSGroup info is not updated into TableDescriptor when table moved");
assertEquals(rsGroup2.getName(), regionServerGroup.get());
}
@@ -153,8 +149,8 @@ public class TestTableDescriptorWithRSGroup extends TestRSGroupsBase {
createTableWithRSGroupDetail(rsGroup1.getName());
TableDescriptor descriptor = admin.getConnection().getTable(tableName).getDescriptor();
Optional<String> regionServerGroup = descriptor.getRegionServerGroup();
- assertTrue("RSGroup info is not updated into TableDescriptor when table created",
- regionServerGroup.isPresent());
+ assertTrue(regionServerGroup.isPresent(),
+ "RSGroup info is not updated into TableDescriptor when table created");
assertEquals(rsGroup1.getName(), regionServerGroup.get());
// moveServersAndTables
@@ -163,8 +159,8 @@ public class TestTableDescriptorWithRSGroup extends TestRSGroupsBase {
descriptor = admin.getConnection().getTable(tableName).getDescriptor();
regionServerGroup = descriptor.getRegionServerGroup();
- assertTrue("RSGroup info is not updated into TableDescriptor when table moved",
- regionServerGroup.isPresent());
+ assertTrue(regionServerGroup.isPresent(),
+ "RSGroup info is not updated into TableDescriptor when table moved");
assertEquals(RSGroupInfo.DEFAULT_GROUP, regionServerGroup.get());
}
@@ -180,8 +176,8 @@ public class TestTableDescriptorWithRSGroup extends TestRSGroupsBase {
rsGroupAdmin.renameRSGroup(oldGroup.getName(), newGroupName);
TableDescriptor descriptor = admin.getConnection().getTable(tableName).getDescriptor();
Optional<String> regionServerGroup = descriptor.getRegionServerGroup();
- assertTrue("RSGroup info is not updated into TableDescriptor when rs group renamed",
- regionServerGroup.isPresent());
+ assertTrue(regionServerGroup.isPresent(),
+ "RSGroup info is not updated into TableDescriptor when rs group renamed");
assertEquals(newGroupName, regionServerGroup.get());
}
@@ -216,8 +212,8 @@ public class TestTableDescriptorWithRSGroup extends TestRSGroupsBase {
assertEquals(rsGroup1.getName(), rsGroupInfoOfTable.getName());
TableDescriptor descriptor = admin.getConnection().getTable(clonedTable1).getDescriptor();
Optional<String> regionServerGroup = descriptor.getRegionServerGroup();
- assertTrue("RSGroup info is not updated into TableDescriptor when table is cloned.",
- regionServerGroup.isPresent());
+ assertTrue(regionServerGroup.isPresent(),
+ "RSGroup info is not updated into TableDescriptor when table is cloned.");
assertEquals(rsGroup1.getName(), regionServerGroup.get());
// Delete table's original rs group, clone should fail.
@@ -244,8 +240,8 @@ public class TestTableDescriptorWithRSGroup extends TestRSGroupsBase {
createTableWithRSGroupDetail(rsGroup1.getName());
TableDescriptor descriptor = admin.getConnection().getTable(tableName).getDescriptor();
Optional<String> regionServerGroup = descriptor.getRegionServerGroup();
- assertTrue("RSGroup info is not updated into TableDescriptor when table created",
- regionServerGroup.isPresent());
+ assertTrue(regionServerGroup.isPresent(),
+ "RSGroup info is not updated into TableDescriptor when table created");
assertEquals(rsGroup1.getName(), regionServerGroup.get());
final TableDescriptor newTableDescriptor =
@@ -272,8 +268,8 @@ public class TestTableDescriptorWithRSGroup extends TestRSGroupsBase {
assertEquals(1, rsGroup2.getTables().size());
descriptor = admin.getConnection().getTable(tableName).getDescriptor();
regionServerGroup = descriptor.getRegionServerGroup();
- assertTrue("RSGroup info is not updated into TableDescriptor when table is modified.",
- regionServerGroup.isPresent());
+ assertTrue(regionServerGroup.isPresent(),
+ "RSGroup info is not updated into TableDescriptor when table is modified.");
assertEquals("rsGroup2", regionServerGroup.get());
}
@@ -298,8 +294,8 @@ public class TestTableDescriptorWithRSGroup extends TestRSGroupsBase {
e.getCause().getMessage().contains("Table should have at least one column family"));
}
rsGroup2 = rsGroupAdmin.getRSGroupInfo(rsGroup2.getName());
- assertEquals("Table must not have moved to RSGroup as table modify failed", 0,
- rsGroup2.getTables().size());
+ assertEquals(0, rsGroup2.getTables().size(),
+ "Table must not have moved to RSGroup as table modify failed");
}
@Test
@@ -318,8 +314,8 @@ public class TestTableDescriptorWithRSGroup extends TestRSGroupsBase {
e.getCause().getMessage().contains("Table should have at least one column family"));
}
rsGroup1 = rsGroupAdmin.getRSGroupInfo(rsGroup1.getName());
- assertEquals("Table must not have moved to RSGroup as table create operation failed", 0,
- rsGroup1.getTables().size());
+ assertEquals(0, rsGroup1.getTables().size(),
+ "Table must not have moved to RSGroup as table create operation failed");
}
@Test
@@ -346,21 +342,22 @@ public class TestTableDescriptorWithRSGroup extends TestRSGroupsBase {
// create table with no rs group info
createTable(table2, null);
rsGroupAdmin.moveTables(Sets.newHashSet(tableName), rsGroup1.getName());
- assertTrue("RSGroup info is not updated into TableDescriptor when table created",
- admin.getConnection().getTable(tableName).getDescriptor().getRegionServerGroup().isPresent());
+ assertTrue(
+ admin.getConnection().getTable(tableName).getDescriptor().getRegionServerGroup().isPresent(),
+ "RSGroup info is not updated into TableDescriptor when table created");
assertFalse(
+ admin.getConnection().getTable(table2).getDescriptor().getRegionServerGroup().isPresent(),
"Table descriptor should not have been updated "
- + "as rs group info was not stored in table descriptor.",
- admin.getConnection().getTable(table2).getDescriptor().getRegionServerGroup().isPresent());
+ + "as rs group info was not stored in table descriptor.");
final String rsGroup2 = "rsGroup2";
rsGroupAdmin.renameRSGroup(rsGroup1.getName(), rsGroup2);
assertEquals(rsGroup2,
admin.getConnection().getTable(tableName).getDescriptor().getRegionServerGroup().get());
assertFalse(
+ admin.getConnection().getTable(table2).getDescriptor().getRegionServerGroup().isPresent(),
"Table descriptor should not have been updated "
- + "as rs group info was not stored in table descriptor.",
- admin.getConnection().getTable(table2).getDescriptor().getRegionServerGroup().isPresent());
+ + "as rs group info was not stored in table descriptor.");
}
@Test
@@ -377,7 +374,7 @@ public class TestTableDescriptorWithRSGroup extends TestRSGroupsBase {
RSGroupInfo rsGroup2 = addGroup("rsGroup2", 1);
rsGroupAdmin.moveTables(Sets.newHashSet(tableName, table2), rsGroup2.getName());
rsGroup2 = rsGroupAdmin.getRSGroupInfo(rsGroup2.getName());
- assertEquals("Table movement failed.", 2, rsGroup2.getTables().size());
+ assertEquals(2, rsGroup2.getTables().size(), "Table movement failed.");
}
private void createTable(TableName tName, String rsGroupName) throws Exception {
diff --git a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestUpdateRSGroupConfiguration.java b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestUpdateRSGroupConfiguration.java
index 27f8cbb7ece..7b09b6874a9 100644
--- a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestUpdateRSGroupConfiguration.java
+++ b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestUpdateRSGroupConfiguration.java
@@ -17,55 +17,50 @@
*/
package org.apache.hadoop.hbase.rsgroup;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.net.Address;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.JVMClusterUtil;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hbase.thirdparty.com.google.common.collect.Iterables;
-@Category({ MediumTests.class })
+@Tag(MediumTests.TAG)
public class TestUpdateRSGroupConfiguration extends TestRSGroupsBase {
protected static final Logger LOG = LoggerFactory.getLogger(TestUpdateRSGroupConfiguration.class);
-
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestUpdateRSGroupConfiguration.class);
private static final String TEST_GROUP = "test";
private static final String TEST2_GROUP = "test2";
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
setUpConfigurationFiles(TEST_UTIL);
setUpTestBeforeClass();
addResourceToRegionServerConfiguration(TEST_UTIL);
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
tearDownAfterClass();
}
- @Before
- public void beforeMethod() throws Exception {
- setUpBeforeMethod();
+ @BeforeEach
+ public void beforeMethod(TestInfo testInfo) throws Exception {
+ setUpBeforeMethod(testInfo);
}
- @After
+ @AfterEach
public void afterMethod() throws Exception {
tearDownAfterMethod();
}
@@ -79,7 +74,7 @@ public class TestUpdateRSGroupConfiguration extends TestRSGroupsBase {
// This test relies on a disallowed API change in RSGroupInfo and was also found to be
// flaky. REVERTED from branch-2.5 and branch-2.
@Test
- @Ignore
+ @Disabled
public void testCustomOnlineConfigChangeInRSGroup() throws Exception {
RSGroupInfo testRSGroup = addGroup(TEST_GROUP, 1);
RSGroupInfo test2RSGroup = addGroup(TEST2_GROUP, 1);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSimpleRpcServer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/AbstractTestRpcServer.java
similarity index 63%
copy from hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSimpleRpcServer.java
copy to hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/AbstractTestRpcServer.java
index 2bb50cb3d42..eed47e8951d 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSimpleRpcServer.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/AbstractTestRpcServer.java
@@ -17,13 +17,11 @@
*/
package org.apache.hadoop.hbase.ipc;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.TableName;
-import org.apache.hadoop.hbase.TableNameTestRule;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
@@ -31,23 +29,12 @@ import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.client.TableDescriptor;
import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
import org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy;
-import org.apache.hadoop.hbase.testclassification.MediumTests;
-import org.apache.hadoop.hbase.testclassification.RPCTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.LoadTestKVGenerator;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.TestInfo;
-@Category({ RPCTests.class, MediumTests.class })
-public class TestSimpleRpcServer {
-
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestSimpleRpcServer.class);
+public abstract class AbstractTestRpcServer {
private static final byte[] FAMILY = Bytes.toBytes("f");
private static final byte[] QUALIFIER = Bytes.toBytes("q");
@@ -56,31 +43,11 @@ public class TestSimpleRpcServer {
private static final int MAX_LEN = 1000000;
protected static final LoadTestKVGenerator GENERATOR = new LoadTestKVGenerator(MIN_LEN, MAX_LEN);
protected static HBaseTestingUtility TEST_UTIL;
+ protected TableName tableName;
- @Rule
- public TableNameTestRule name = new TableNameTestRule();
-
- @SuppressWarnings("deprecation")
- @BeforeClass
- public static void setupClass() throws Exception {
- // A subclass may have already created TEST_UTIL and is now upcalling to us
- if (TEST_UTIL == null) {
- TEST_UTIL = new HBaseTestingUtility();
- }
- // Set RPC server impl to SimpleRpcServer
- TEST_UTIL.getConfiguration().set(RpcServerFactory.CUSTOM_RPC_SERVER_IMPL_CONF_KEY,
- SimpleRpcServer.class.getName());
- TEST_UTIL.startMiniCluster();
- }
-
- @AfterClass
- public static void tearDownClass() throws Exception {
- TEST_UTIL.shutdownMiniCluster();
- }
-
- @Test
- public void testSimpleRpcServer() throws Exception {
- doTest(name.getTableName());
+ @BeforeEach
+ public void setUpTest(TestInfo testInfo) {
+ tableName = TableName.valueOf(testInfo.getTestMethod().get().getName());
}
protected void doTest(TableName tableName) throws Exception {
@@ -99,12 +66,11 @@ public class TestSimpleRpcServer {
for (int i = 0; i < NUM_ROWS; i++) {
final byte[] rowKey = Bytes.toBytes(LoadTestKVGenerator.md5PrefixedKey(i));
final Result r = table.get(new Get(rowKey).addColumn(FAMILY, QUALIFIER));
- assertNotNull("Result was empty", r);
+ assertNotNull(r, "Result was empty");
final byte[] v = r.getValue(FAMILY, QUALIFIER);
- assertNotNull("Result did not contain expected value", v);
- assertTrue("Value was not verified", LoadTestKVGenerator.verify(v, rowKey, QUALIFIER));
+ assertNotNull(v, "Result did not contain expected value");
+ assertTrue(LoadTestKVGenerator.verify(v, rowKey, QUALIFIER), "Value was not verified");
}
}
}
-
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestBufferChain.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestBufferChain.java
index c7142f34f63..978a3f106c0 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestBufferChain.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestBufferChain.java
@@ -17,47 +17,42 @@
*/
package org.apache.hadoop.hbase.ipc;
-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.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.RPCTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.apache.hbase.thirdparty.com.google.common.base.Charsets;
import org.apache.hbase.thirdparty.com.google.common.io.Files;
-@Category({ RPCTests.class, SmallTests.class })
+@Tag(RPCTests.TAG)
+@Tag(SmallTests.TAG)
public class TestBufferChain {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestBufferChain.class);
-
private File tmpFile;
private static final byte[][] HELLO_WORLD_CHUNKS =
new byte[][] { "hello".getBytes(Charsets.UTF_8), " ".getBytes(Charsets.UTF_8),
"world".getBytes(Charsets.UTF_8) };
- @Before
+ @BeforeEach
public void setup() throws IOException {
tmpFile = File.createTempFile("TestBufferChain", "txt");
}
- @After
+ @AfterEach
public void teardown() {
tmpFile.delete();
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestCallRunner.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestCallRunner.java
index e809b408c65..f4672203132 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestCallRunner.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestCallRunner.java
@@ -27,12 +27,11 @@ import static org.hamcrest.Matchers.allOf;
import static org.hamcrest.Matchers.hasItem;
import io.opentelemetry.api.trace.StatusCode;
-import io.opentelemetry.sdk.testing.junit4.OpenTelemetryRule;
+import io.opentelemetry.sdk.testing.junit5.OpenTelemetryExtension;
import java.net.InetSocketAddress;
import java.util.concurrent.TimeUnit;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.CallDroppedException;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.MatcherPredicate;
import org.apache.hadoop.hbase.Waiter;
@@ -41,31 +40,26 @@ import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandlerImpl;
import org.apache.hadoop.hbase.testclassification.RPCTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.trace.TraceUtil;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.mockito.Mockito;
-@Category({ RPCTests.class, SmallTests.class })
+@Tag(RPCTests.TAG)
+@Tag(SmallTests.TAG)
public class TestCallRunner {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestCallRunner.class);
-
- @Rule
- public TestName testName = new TestName();
-
- @Rule
- public OpenTelemetryRule otelRule = OpenTelemetryRule.create();
+ @RegisterExtension
+ public static final OpenTelemetryExtension otelRule = OpenTelemetryExtension.create();
private Configuration conf = null;
+ private String testMethodName;
- @Before
- public void before() {
+ @BeforeEach
+ public void before(TestInfo testInfo) {
+ testMethodName = testInfo.getTestMethod().get().getName();
final HBaseTestingUtility util = new HBaseTestingUtility();
conf = util.getConfiguration();
}
@@ -83,13 +77,13 @@ public class TestCallRunner {
CallRunner cr = new CallRunner(mockRpcServer, mockCall);
cr.setStatus(new MonitoredRPCHandlerImpl("test"));
cr.run();
- }, testName.getMethodName());
+ }, testMethodName);
Waiter.waitFor(conf, TimeUnit.SECONDS.toMillis(5), new MatcherPredicate<>(otelRule::getSpans,
- hasItem(allOf(hasName(testName.getMethodName()), hasEnded()))));
+ hasItem(allOf(hasName(testMethodName), hasEnded()))));
- assertThat(otelRule.getSpans(), hasItem(
- allOf(hasName(testName.getMethodName()), hasStatusWithCode(StatusCode.OK), hasEnded())));
+ assertThat(otelRule.getSpans(),
+ hasItem(allOf(hasName(testMethodName), hasStatusWithCode(StatusCode.OK), hasEnded())));
}
@Test
@@ -103,7 +97,7 @@ public class TestCallRunner {
CallRunner cr = new CallRunner(mockRpcServer, mockCall);
cr.setStatus(new MonitoredRPCHandlerImpl("test"));
cr.run();
- }, testName.getMethodName());
+ }, testMethodName);
Mockito.verify(mockCall, Mockito.times(1)).cleanup();
}
@@ -118,14 +112,14 @@ public class TestCallRunner {
CallRunner cr = new CallRunner(mockRpcServer, mockCall);
cr.setStatus(new MonitoredRPCHandlerImpl("test"));
cr.drop();
- }, testName.getMethodName());
+ }, testMethodName);
Mockito.verify(mockCall, Mockito.times(1)).cleanup();
Waiter.waitFor(conf, TimeUnit.SECONDS.toMillis(5), new MatcherPredicate<>(otelRule::getSpans,
- hasItem(allOf(hasName(testName.getMethodName()), hasEnded()))));
+ hasItem(allOf(hasName(testMethodName), hasEnded()))));
assertThat(otelRule.getSpans(),
- hasItem(allOf(hasName(testName.getMethodName()), hasStatusWithCode(StatusCode.OK),
+ hasItem(allOf(hasName(testMethodName), hasStatusWithCode(StatusCode.OK),
hasEvents(hasItem(EventMatchers.hasName("Client disconnect detected"))), hasEnded())));
}
@@ -144,15 +138,15 @@ public class TestCallRunner {
CallRunner cr = new CallRunner(mockRpcServer, mockCall);
cr.setStatus(new MonitoredRPCHandlerImpl("test"));
cr.drop();
- }, testName.getMethodName());
+ }, testMethodName);
Mockito.verify(mockCall, Mockito.times(1)).cleanup();
Mockito.verify(mockMetrics).exception(Mockito.any(CallDroppedException.class));
Waiter.waitFor(conf, TimeUnit.SECONDS.toMillis(5), new MatcherPredicate<>(otelRule::getSpans,
- hasItem(allOf(hasName(testName.getMethodName()), hasEnded()))));
+ hasItem(allOf(hasName(testMethodName), hasEnded()))));
assertThat(otelRule.getSpans(),
- hasItem(allOf(hasName(testName.getMethodName()), hasStatusWithCode(StatusCode.ERROR),
+ hasItem(allOf(hasName(testMethodName), hasStatusWithCode(StatusCode.ERROR),
hasEvents(hasItem(allOf(EventMatchers.hasName("exception"),
EventMatchers.hasAttributes(
containsEntry("exception.type", CallDroppedException.class.getName()))))),
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestFifoRpcScheduler.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestFifoRpcScheduler.java
index 06b25f81ba9..69ecd821e7a 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestFifoRpcScheduler.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestFifoRpcScheduler.java
@@ -17,7 +17,7 @@
*/
package org.apache.hadoop.hbase.ipc;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -29,27 +29,22 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandlerImpl;
import org.apache.hadoop.hbase.testclassification.RPCTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category({ RPCTests.class, SmallTests.class })
+@Tag(RPCTests.TAG)
+@Tag(SmallTests.TAG)
public class TestFifoRpcScheduler {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestFifoRpcScheduler.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestFifoRpcScheduler.class);
private AtomicInteger callExecutionCount;
@@ -62,7 +57,7 @@ public class TestFifoRpcScheduler {
};
private Configuration conf;
- @Before
+ @BeforeEach
public void setUp() {
conf = HBaseConfiguration.create();
callExecutionCount = new AtomicInteger(0);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestHBaseClient.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestHBaseClient.java
index 90e696c4591..a2a9da01f75 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestHBaseClient.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestHBaseClient.java
@@ -17,24 +17,21 @@
*/
package org.apache.hadoop.hbase.ipc;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.net.Address;
import org.apache.hadoop.hbase.testclassification.RPCTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
import org.apache.hadoop.hbase.util.ManualEnvironmentEdge;
-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;
-@Category({ RPCTests.class, SmallTests.class })
+@Tag(RPCTests.TAG)
+@Tag(SmallTests.TAG)
public class TestHBaseClient {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestHBaseClient.class);
-
@Test
public void testFailedServer() {
ManualEnvironmentEdge ee = new ManualEnvironmentEdge();
@@ -48,36 +45,36 @@ public class TestHBaseClient {
Address ia3 = Address.fromParts("badtoo", 12);
Address ia4 = Address.fromParts("badtoo", 13);
- Assert.assertFalse(fs.isFailedServer(ia));
+ assertFalse(fs.isFailedServer(ia));
fs.addToFailedServers(ia, testThrowable);
- Assert.assertTrue(fs.isFailedServer(ia));
- Assert.assertTrue(fs.isFailedServer(ia2));
+ assertTrue(fs.isFailedServer(ia));
+ assertTrue(fs.isFailedServer(ia2));
ee.incValue(1);
- Assert.assertTrue(fs.isFailedServer(ia));
- Assert.assertTrue(fs.isFailedServer(ia2));
+ assertTrue(fs.isFailedServer(ia));
+ assertTrue(fs.isFailedServer(ia2));
ee.incValue(RpcClient.FAILED_SERVER_EXPIRY_DEFAULT + 1);
- Assert.assertFalse(fs.isFailedServer(ia));
- Assert.assertFalse(fs.isFailedServer(ia2));
+ assertFalse(fs.isFailedServer(ia));
+ assertFalse(fs.isFailedServer(ia2));
fs.addToFailedServers(ia, testThrowable);
fs.addToFailedServers(ia3, testThrowable);
fs.addToFailedServers(ia4, testThrowable);
- Assert.assertTrue(fs.isFailedServer(ia));
- Assert.assertTrue(fs.isFailedServer(ia2));
- Assert.assertTrue(fs.isFailedServer(ia3));
- Assert.assertTrue(fs.isFailedServer(ia4));
+ assertTrue(fs.isFailedServer(ia));
+ assertTrue(fs.isFailedServer(ia2));
+ assertTrue(fs.isFailedServer(ia3));
+ assertTrue(fs.isFailedServer(ia4));
ee.incValue(RpcClient.FAILED_SERVER_EXPIRY_DEFAULT + 1);
- Assert.assertFalse(fs.isFailedServer(ia));
- Assert.assertFalse(fs.isFailedServer(ia2));
- Assert.assertFalse(fs.isFailedServer(ia3));
- Assert.assertFalse(fs.isFailedServer(ia4));
+ assertFalse(fs.isFailedServer(ia));
+ assertFalse(fs.isFailedServer(ia2));
+ assertFalse(fs.isFailedServer(ia3));
+ assertFalse(fs.isFailedServer(ia4));
fs.addToFailedServers(ia3, testThrowable);
- Assert.assertFalse(fs.isFailedServer(ia4));
+ assertFalse(fs.isFailedServer(ia4));
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestMasterFifoRpcScheduler.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestMasterFifoRpcScheduler.java
index 14f218be553..fa8f146a22b 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestMasterFifoRpcScheduler.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestMasterFifoRpcScheduler.java
@@ -17,8 +17,8 @@
*/
package org.apache.hadoop.hbase.ipc;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -26,7 +26,6 @@ import static org.mockito.Mockito.when;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
@@ -35,12 +34,10 @@ import org.apache.hadoop.hbase.master.MasterRpcServices;
import org.apache.hadoop.hbase.regionserver.RSRpcServices;
import org.apache.hadoop.hbase.testclassification.LargeTests;
import org.apache.hadoop.hbase.testclassification.RPCTests;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
import org.slf4j.Logger;
@@ -48,20 +45,17 @@ import org.slf4j.LoggerFactory;
import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos;
-@Category({ RPCTests.class, LargeTests.class })
+@Tag(RPCTests.TAG)
+@Tag(LargeTests.TAG)
public class TestMasterFifoRpcScheduler {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestMasterFifoRpcScheduler.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestMasterFifoRpcScheduler.class);
private static final String REGION_SERVER_REPORT = "RegionServerReport";
private static final String OTHER = "Other";
private static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
- @BeforeClass
+ @BeforeAll
public static void setupBeforeClass() throws Exception {
Configuration conf = TEST_UTIL.getConfiguration();
conf.set(RSRpcServices.MASTER_RPC_SCHEDULER_FACTORY_CLASS,
@@ -71,7 +65,7 @@ public class TestMasterFifoRpcScheduler {
TEST_UTIL.startMiniCluster();
}
- @AfterClass
+ @AfterAll
public static void tearDownAfterClass() throws Exception {
TEST_UTIL.shutdownMiniCluster();
}
@@ -81,7 +75,7 @@ public class TestMasterFifoRpcScheduler {
HMaster master = TEST_UTIL.getHBaseCluster().getMaster();
MasterRpcServices masterRpcServices = master.getMasterRpcServices();
RpcScheduler masterRpcScheduler = masterRpcServices.getRpcScheduler();
- Assert.assertTrue(masterRpcScheduler instanceof MasterFifoRpcScheduler);
+ assertTrue(masterRpcScheduler instanceof MasterFifoRpcScheduler);
}
@Test
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestMultipleServerPrincipalsIPC.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestMultipleServerPrincipalsIPC.java
index 71ebe5aa537..19d8d842f0a 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestMultipleServerPrincipalsIPC.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestMultipleServerPrincipalsIPC.java
@@ -21,8 +21,8 @@ import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.either;
import static org.hamcrest.Matchers.instanceOf;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import java.io.File;
import java.io.IOException;
@@ -32,10 +32,11 @@ import java.security.PrivilegedExceptionAction;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.stream.Stream;
import javax.security.sasl.SaslException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.CommonConfigurationKeys;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.ServerName;
@@ -47,17 +48,13 @@ import org.apache.hadoop.hbase.testclassification.SecurityTests;
import org.apache.hadoop.ipc.RemoteException;
import org.apache.hadoop.minikdc.MiniKdc;
import org.apache.hadoop.security.UserGroupInformation;
-import org.junit.After;
-import org.junit.AfterClass;
-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.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.params.provider.Arguments;
import org.apache.hbase.thirdparty.com.google.common.collect.Iterables;
import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
@@ -74,14 +71,11 @@ import org.apache.hadoop.hbase.shaded.ipc.protobuf.generated.TestRpcServiceProto
* <p>
* Put here just because we need to visit some package private classes under this package.
*/
-@RunWith(Parameterized.class)
-@Category({ SecurityTests.class, MediumTests.class })
+@Tag(SecurityTests.TAG)
+@Tag(MediumTests.TAG)
+@HBaseParameterizedTestTemplate(name = "{index}: rpcServerImpl={0}, rpcClientImpl={1}")
public class TestMultipleServerPrincipalsIPC {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestMultipleServerPrincipalsIPC.class);
-
private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
private static final File KEYTAB_FILE =
@@ -93,11 +87,8 @@ public class TestMultipleServerPrincipalsIPC {
private static String SERVER_PRINCIPAL2;
private static String CLIENT_PRINCIPAL;
- @Parameter(0)
- public Class<? extends RpcServer> rpcServerImpl;
-
- @Parameter(1)
- public Class<? extends RpcClient> rpcClientImpl;
+ private final Class<? extends RpcServer> rpcServerImpl;
+ private final Class<? extends RpcClient> rpcClientImpl;
private Configuration clientConf;
private Configuration serverConf;
@@ -106,22 +97,27 @@ public class TestMultipleServerPrincipalsIPC {
private RpcServer rpcServer;
private RpcClient rpcClient;
- @Parameters(name = "{index}: rpcServerImpl={0}, rpcClientImpl={1}")
- public static List<Object[]> params() {
- List<Object[]> params = new ArrayList<>();
+ public TestMultipleServerPrincipalsIPC(Class<? extends RpcServer> rpcServerImpl,
+ Class<? extends RpcClient> rpcClientImpl) {
+ this.rpcServerImpl = rpcServerImpl;
+ this.rpcClientImpl = rpcClientImpl;
+ }
+
+ public static Stream<Arguments> parameters() {
+ List<Arguments> params = new ArrayList<>();
List<Class<? extends RpcServer>> rpcServerImpls =
Arrays.asList(NettyRpcServer.class, SimpleRpcServer.class);
List<Class<? extends RpcClient>> rpcClientImpls =
Arrays.asList(NettyRpcClient.class, BlockingRpcClient.class);
for (Class<? extends RpcServer> rpcServerImpl : rpcServerImpls) {
for (Class<? extends RpcClient> rpcClientImpl : rpcClientImpls) {
- params.add(new Object[] { rpcServerImpl, rpcClientImpl });
+ params.add(Arguments.of(rpcServerImpl, rpcClientImpl));
}
}
- return params;
+ return params.stream();
}
- @BeforeClass
+ @BeforeAll
public static void setUpBeforeClass() throws Exception {
KDC = TEST_UTIL.setupMiniKdc(KEYTAB_FILE);
SERVER_PRINCIPAL = "server/" + HOST;
@@ -140,7 +136,7 @@ public class TestMultipleServerPrincipalsIPC {
TEST_UTIL.getConfiguration().setInt(RpcClient.FAILED_SERVER_EXPIRY_KEY, 10);
}
- @AfterClass
+ @AfterAll
public static void tearDownAfterClass() {
if (KDC != null) {
KDC.stop();
@@ -165,7 +161,7 @@ public class TestMultipleServerPrincipalsIPC {
rpcServer.start();
}
- @Before
+ @BeforeEach
public void setUp() throws Exception {
clientConf = new Configuration(TEST_UTIL.getConfiguration());
clientConf.setClass(RpcClientFactory.CUSTOM_RPC_CLIENT_IMPL_CONF_KEY, rpcClientImpl,
@@ -189,7 +185,7 @@ public class TestMultipleServerPrincipalsIPC {
.createClient(clientConf, HConstants.DEFAULT_CLUSTER_ID.toString()));
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
Closeables.close(rpcClient, true);
rpcServer.stop();
@@ -206,13 +202,13 @@ public class TestMultipleServerPrincipalsIPC {
});
}
- @Test
+ @TestTemplate
public void testEcho() throws Exception {
String msg = "Hello World";
assertEquals(msg, echo(msg));
}
- @Test
+ @TestTemplate
public void testMaliciousServer() throws Exception {
// reset the server principals so the principal returned by server does not match
SecurityInfo securityInfo =
@@ -227,7 +223,7 @@ public class TestMultipleServerPrincipalsIPC {
assertThat(error.getCause().getCause(), instanceOf(SaslException.class));
}
- @Test
+ @TestTemplate
public void testRememberLastSucceededServerPrincipal() throws Exception {
// after this call we will remember the last succeeded server principal
assertEquals("a", echo("a"));
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestNettyChannelWritability.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestNettyChannelWritability.java
index 001f6dbd22c..3e2cf468ef0 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestNettyChannelWritability.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestNettyChannelWritability.java
@@ -19,10 +19,10 @@ package org.apache.hadoop.hbase.ipc;
import static org.apache.hadoop.hbase.ipc.TestProtobufRpcServiceImpl.SERVICE;
import static org.apache.hadoop.hbase.ipc.TestProtobufRpcServiceImpl.newBlockingStub;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.net.InetSocketAddress;
@@ -36,16 +36,14 @@ import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellScanner;
import org.apache.hadoop.hbase.CellUtil;
import org.apache.hadoop.hbase.CompatibilityFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.test.MetricsAssertHelper;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RPCTests;
import org.apache.hadoop.hbase.util.Bytes;
-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.hbase.thirdparty.com.google.common.collect.Lists;
import org.apache.hbase.thirdparty.com.google.protobuf.ServiceException;
@@ -54,13 +52,10 @@ import org.apache.hbase.thirdparty.io.netty.channel.Channel;
import org.apache.hadoop.hbase.shaded.ipc.protobuf.generated.TestProtos;
import org.apache.hadoop.hbase.shaded.ipc.protobuf.generated.TestRpcServiceProtos;
-@Category({ RPCTests.class, MediumTests.class })
+@Tag(RPCTests.TAG)
+@Tag(MediumTests.TAG)
public class TestNettyChannelWritability {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestNettyChannelWritability.class);
-
private static final MetricsAssertHelper METRICS_ASSERT =
CompatibilityFactory.getInstance(MetricsAssertHelper.class);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestNettyIPCCloseConnection.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestNettyIPCCloseConnection.java
index e21ad286853..d9f4dd96e94 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestNettyIPCCloseConnection.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestNettyIPCCloseConnection.java
@@ -18,8 +18,8 @@
package org.apache.hadoop.hbase.ipc;
import static org.apache.hadoop.hbase.ipc.TestProtobufRpcServiceImpl.SERVICE;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@@ -28,17 +28,15 @@ import java.io.IOException;
import java.net.InetSocketAddress;
import java.util.concurrent.TimeUnit;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.Waiter;
import org.apache.hadoop.hbase.security.HBaseSaslRpcServer;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RPCTests;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.apache.hbase.thirdparty.com.google.common.collect.Iterators;
import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
@@ -53,13 +51,10 @@ import org.apache.hadoop.hbase.shaded.ipc.protobuf.generated.TestRpcServiceProto
/**
* Confirm that we truly close the NettyRpcConnection when the netty channel is closed.
*/
-@Category({ RPCTests.class, MediumTests.class })
+@Tag(RPCTests.TAG)
+@Tag(MediumTests.TAG)
public class TestNettyIPCCloseConnection {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestNettyIPCCloseConnection.class);
-
private static Configuration CONF = HBaseConfiguration.create();
private NioEventLoopGroup group;
@@ -70,7 +65,7 @@ public class TestNettyIPCCloseConnection {
private TestProtobufRpcProto.BlockingInterface stub;
- @Before
+ @BeforeEach
public void setUp() throws IOException {
group = new NioEventLoopGroup();
server = new NettyRpcServer(null, getClass().getSimpleName(),
@@ -82,7 +77,7 @@ public class TestNettyIPCCloseConnection {
stub = TestProtobufRpcServiceImpl.newBlockingStub(client, server.getListenerAddress());
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
Closeables.close(client, true);
server.stop();
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestNettyRpcServer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestNettyRpcServer.java
index 7fedb2ba112..a7d5340e681 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestNettyRpcServer.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestNettyRpcServer.java
@@ -17,9 +17,9 @@
*/
package org.apache.hadoop.hbase.ipc;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -32,14 +32,13 @@ import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import java.util.Arrays;
-import java.util.Collection;
+import java.util.stream.Stream;
import javax.net.ssl.SSLEngine;
import javax.net.ssl.SSLPeerUnverifiedException;
import javax.net.ssl.SSLSession;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.TableName;
-import org.apache.hadoop.hbase.TableNameTestRule;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
@@ -51,26 +50,20 @@ import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RPCTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.LoadTestKVGenerator;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.TestInfo;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.params.provider.Arguments;
import org.apache.hbase.thirdparty.io.netty.handler.ssl.SslHandler;
-@Category({ RPCTests.class, MediumTests.class })
-@RunWith(Parameterized.class)
+@Tag(RPCTests.TAG)
+@Tag(MediumTests.TAG)
+@HBaseParameterizedTestTemplate(name = "{index}: allocatorType={0}")
public class TestNettyRpcServer {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestNettyRpcServer.class);
-
private static final byte[] FAMILY = Bytes.toBytes("f");
private static final byte[] QUALIFIER = Bytes.toBytes("q");
private static final int NUM_ROWS = 100;
@@ -78,21 +71,29 @@ public class TestNettyRpcServer {
private static final int MAX_LEN = 1000000;
protected static final LoadTestKVGenerator GENERATOR = new LoadTestKVGenerator(MIN_LEN, MAX_LEN);
protected static HBaseTestingUtility TEST_UTIL;
+ protected TableName tableName;
+ protected final String allocatorType;
- @Rule
- public TableNameTestRule name = new TableNameTestRule();
+ public TestNettyRpcServer(String allocatorType) {
+ this.allocatorType = allocatorType;
+ }
- @Parameterized.Parameter
- public String allocatorType;
+ public static Stream<Arguments> parameters() {
+ return Arrays
+ .stream(
+ new Object[] { NettyRpcServer.POOLED_ALLOCATOR_TYPE, NettyRpcServer.UNPOOLED_ALLOCATOR_TYPE,
+ NettyRpcServer.HEAP_ALLOCATOR_TYPE, SimpleByteBufAllocator.class.getName() })
+ .map(Arguments::of);
+ }
- @Parameters
- public static Collection<Object[]> parameters() {
- return Arrays.asList(new Object[][] { { NettyRpcServer.POOLED_ALLOCATOR_TYPE },
- { NettyRpcServer.UNPOOLED_ALLOCATOR_TYPE }, { NettyRpcServer.HEAP_ALLOCATOR_TYPE },
- { SimpleByteBufAllocator.class.getName() } });
+ @BeforeEach
+ public void setUpTable(TestInfo testInfo) {
+ String sanitizedAllocatorType = allocatorType.replaceAll("[^a-zA-Z0-9_.-]", "_");
+ tableName =
+ TableName.valueOf(testInfo.getTestMethod().get().getName() + "_" + sanitizedAllocatorType);
}
- @Before
+ @BeforeEach
public void setup() throws Exception {
// A subclass may have already created TEST_UTIL and is now upcalling to us
if (TEST_UTIL == null) {
@@ -104,14 +105,14 @@ public class TestNettyRpcServer {
TEST_UTIL.startMiniCluster();
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
TEST_UTIL.shutdownMiniCluster();
}
- @Test
+ @TestTemplate
public void testNettyRpcServer() throws Exception {
- doTest(name.getTableName());
+ doTest(tableName);
}
protected void doTest(TableName tableName) throws Exception {
@@ -130,10 +131,10 @@ public class TestNettyRpcServer {
for (int i = 0; i < NUM_ROWS; i++) {
final byte[] rowKey = Bytes.toBytes(LoadTestKVGenerator.md5PrefixedKey(i));
final Result r = table.get(new Get(rowKey).addColumn(FAMILY, QUALIFIER));
- assertNotNull("Result was empty", r);
+ assertNotNull(r, "Result was empty");
final byte[] v = r.getValue(FAMILY, QUALIFIER);
- assertNotNull("Result did not contain expected value", v);
- assertTrue("Value was not verified", LoadTestKVGenerator.verify(v, rowKey, QUALIFIER));
+ assertNotNull(v, "Result did not contain expected value");
+ assertTrue(LoadTestKVGenerator.verify(v, rowKey, QUALIFIER), "Value was not verified");
}
}
}
@@ -163,7 +164,7 @@ public class TestNettyRpcServer {
+ "khS2d/JDZq2XL5RGexf3CA6YYzWiTr9YZHNjuobvLH7mVnA2c8n6Zty/UhfnuK1x\n" + "JbkleFk=\n"
+ "-----END CERTIFICATE-----";
- @Test
+ @TestTemplate
public void testHandshakeCompleteHandler()
throws SSLPeerUnverifiedException, CertificateException {
NettyServerRpcConnection conn = mock(NettyServerRpcConnection.class);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestProtoBufRpc.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestProtoBufRpc.java
index a9cac3d0e7b..8fbb22e7f29 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestProtoBufRpc.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestProtoBufRpc.java
@@ -19,29 +19,25 @@ package org.apache.hadoop.hbase.ipc;
import static org.apache.hadoop.hbase.ipc.TestProtobufRpcServiceImpl.SERVICE;
import static org.apache.hadoop.hbase.ipc.TestProtobufRpcServiceImpl.newBlockingStub;
-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.assertThrows;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.util.Arrays;
-import java.util.Collection;
+import java.util.stream.Stream;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.logging.Log4jUtils;
import org.apache.hadoop.hbase.testclassification.RPCTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-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.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.params.provider.Arguments;
import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
@@ -55,30 +51,29 @@ import org.apache.hadoop.hbase.shaded.ipc.protobuf.generated.TestRpcServiceProto
* of types in <code>src/test/protobuf/test.proto</code> and protobuf service definition from
* <code>src/test/protobuf/test_rpc_service.proto</code>
*/
-@RunWith(Parameterized.class)
-@Category({ RPCTests.class, SmallTests.class })
+@Tag(RPCTests.TAG)
+@Tag(SmallTests.TAG)
+@HBaseParameterizedTestTemplate(name = "{index}: rpcServerImpl={0}")
public class TestProtoBufRpc {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProtoBufRpc.class);
-
public final static String ADDRESS = "localhost";
private static int PORT = 0;
private InetSocketAddress isa;
private Configuration conf;
private RpcServerInterface server;
+ private final String rpcServerImpl;
- @Parameters(name = "{index}: rpcServerImpl={0}")
- public static Collection<Object[]> parameters() {
- return Arrays.asList(new Object[] { SimpleRpcServer.class.getName() },
- new Object[] { NettyRpcServer.class.getName() });
+ public TestProtoBufRpc(String rpcServerImpl) {
+ this.rpcServerImpl = rpcServerImpl;
}
- @Parameter(0)
- public String rpcServerImpl;
+ public static Stream<Arguments> parameters() {
+ return Arrays
+ .stream(new Object[] { SimpleRpcServer.class.getName(), NettyRpcServer.class.getName() })
+ .map(Arguments::of);
+ }
- @Before
+ @BeforeEach
public void setUp() throws IOException { // Setup server for both protocols
this.conf = HBaseConfiguration.create();
this.conf.set(RpcServerFactory.CUSTOM_RPC_SERVER_IMPL_CONF_KEY, rpcServerImpl);
@@ -97,13 +92,12 @@ public class TestProtoBufRpc {
this.server.start();
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
server.stop();
}
- @Test(expected = org.apache.hbase.thirdparty.com.google.protobuf.ServiceException.class
- /* Thrown when we call stub.error */)
+ @TestTemplate
public void testProtoBufRpc() throws Exception {
RpcClient rpcClient = RpcClientFactory.createClient(conf, HConstants.CLUSTER_ID_DEFAULT);
try {
@@ -117,8 +111,8 @@ public class TestProtoBufRpc {
EchoResponseProto echoResponse = stub.echo(null, echoRequest);
assertEquals("hello", echoResponse.getMessage());
- stub.error(null, emptyRequest);
- fail("Expected exception is not thrown");
+ assertThrows(org.apache.hbase.thirdparty.com.google.protobuf.ServiceException.class,
+ () -> stub.error(null, emptyRequest));
} finally {
rpcClient.close();
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRWQueueRpcExecutor.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRWQueueRpcExecutor.java
index 0008ea5f44d..714956c5ddd 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRWQueueRpcExecutor.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRWQueueRpcExecutor.java
@@ -21,38 +21,31 @@ import static org.apache.hadoop.hbase.ipc.RWQueueRpcExecutor.CALL_QUEUE_READ_SHA
import static org.apache.hadoop.hbase.ipc.RWQueueRpcExecutor.CALL_QUEUE_SCAN_SHARE_CONF_KEY;
import static org.apache.hadoop.hbase.ipc.RpcExecutor.CALL_QUEUE_HANDLER_FACTOR_CONF_KEY;
import static org.apache.hadoop.hbase.ipc.RpcExecutor.DEFAULT_CALL_QUEUE_SIZE_HARD_LIMIT;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
import java.util.List;
import java.util.concurrent.BlockingQueue;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RPCTests;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
-@Category({ RPCTests.class, MediumTests.class })
+@Tag(RPCTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRWQueueRpcExecutor {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRWQueueRpcExecutor.class);
-
- @Rule
- public TestName testName = new TestName();
-
private Configuration conf;
+ private String testMethodName;
- @Before
- public void setUp() {
+ @BeforeEach
+ public void setUp(TestInfo testInfo) {
+ testMethodName = testInfo.getTestMethod().get().getName();
conf = HBaseConfiguration.create();
conf.setFloat(CALL_QUEUE_HANDLER_FACTOR_CONF_KEY, 1.0f);
conf.setFloat(CALL_QUEUE_SCAN_SHARE_CONF_KEY, 0.5f);
@@ -63,8 +56,8 @@ public class TestRWQueueRpcExecutor {
public void itProvidesCorrectQueuesToBalancers() throws InterruptedException {
PriorityFunction qosFunction = mock(PriorityFunction.class);
int softQueueLimit = 100;
- RWQueueRpcExecutor executor = new RWQueueRpcExecutor(testName.getMethodName(), 100,
- softQueueLimit, qosFunction, conf, null);
+ RWQueueRpcExecutor executor =
+ new RWQueueRpcExecutor(testMethodName, 100, softQueueLimit, qosFunction, conf, null);
QueueBalancer readBalancer = executor.getReadBalancer();
QueueBalancer writeBalancer = executor.getWriteBalancer();
@@ -81,11 +74,11 @@ public class TestRWQueueRpcExecutor {
assertEquals(25, readQueues.size());
assertEquals(50, writeQueues.size());
assertEquals(25, scanQueues.size());
- assertEquals("Soft limit is not applied properly", softQueueLimit, executor.currentQueueLimit);
+ assertEquals(softQueueLimit, executor.currentQueueLimit, "Soft limit is not applied properly");
// Hard Limit is applied as the max capacity of the queue
int hardQueueLimit = readQueues.get(0).remainingCapacity() + readQueues.get(0).size();
- assertEquals("Default hard limit should be applied ", DEFAULT_CALL_QUEUE_SIZE_HARD_LIMIT,
- hardQueueLimit);
+ assertEquals(DEFAULT_CALL_QUEUE_SIZE_HARD_LIMIT, hardQueueLimit,
+ "Default hard limit should be applied ");
verifyDistinct(readQueues, writeQueues, scanQueues);
verifyDistinct(writeQueues, readQueues, scanQueues);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcClientLeaks.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcClientLeaks.java
index 7aa7678c228..976ac0bfb5a 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcClientLeaks.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcClientLeaks.java
@@ -18,8 +18,8 @@
package org.apache.hadoop.hbase.ipc;
import static org.apache.hadoop.hbase.HBaseTestingUtility.fam1;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
import java.io.IOException;
import java.net.Socket;
@@ -28,7 +28,6 @@ import java.util.Map;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.TableName;
@@ -40,26 +39,18 @@ import org.apache.hadoop.hbase.client.RetriesExhaustedException;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category(MediumTests.class)
+@Tag(MediumTests.TAG)
public class TestRpcClientLeaks {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRpcClientLeaks.class);
-
- @Rule
- public TestName name = new TestName();
-
private static BlockingQueue<Socket> SAVED_SOCKETS = new LinkedBlockingQueue<>();
public static class MyRpcClientImpl extends BlockingRpcClient {
@@ -97,29 +88,35 @@ public class TestRpcClientLeaks {
}
private static final HBaseTestingUtility UTIL = new HBaseTestingUtility();
+ private String testMethodName;
- @BeforeClass
+ @BeforeAll
public static void setup() throws Exception {
UTIL.startMiniCluster();
}
- @AfterClass
+ @AfterAll
public static void teardown() throws Exception {
UTIL.shutdownMiniCluster();
}
public static final Logger LOG = LoggerFactory.getLogger(TestRpcClientLeaks.class);
+ @BeforeEach
+ public void setUpTest(TestInfo testInfo) {
+ testMethodName = testInfo.getTestMethod().get().getName();
+ }
+
@Test
public void testSocketClosed() throws IOException, InterruptedException {
- TableName tableName = TableName.valueOf(name.getMethodName());
+ TableName tableName = TableName.valueOf(testMethodName);
UTIL.createTable(tableName, fam1).close();
Configuration conf = new Configuration(UTIL.getConfiguration());
conf.set(RpcClientFactory.CUSTOM_RPC_CLIENT_IMPL_CONF_KEY, MyRpcClientImpl.class.getName());
conf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 2);
try (Connection connection = ConnectionFactory.createConnection(conf);
- Table table = connection.getTable(TableName.valueOf(name.getMethodName()))) {
+ Table table = connection.getTable(TableName.valueOf(testMethodName))) {
MyRpcClientImpl.enableThrowExceptions();
table.get(new Get(Bytes.toBytes("asd")));
fail("Should fail because the injected error");
@@ -127,7 +124,7 @@ public class TestRpcClientLeaks {
// expected
}
for (Socket socket : SAVED_SOCKETS) {
- assertTrue("Socket " + socket + " is not closed", socket.isClosed());
+ assertTrue(socket.isClosed(), "Socket " + socket + " is not closed");
}
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcHandlerException.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcHandlerException.java
index f240bf88e1b..7d7e793ec28 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcHandlerException.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcHandlerException.java
@@ -24,21 +24,17 @@ import static org.mockito.Mockito.mock;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.util.Arrays;
-import java.util.Collection;
+import java.util.stream.Stream;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Abortable;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate;
import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;
import org.apache.hadoop.hbase.testclassification.RPCTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-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.Tag;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.params.provider.Arguments;
import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
import org.apache.hbase.thirdparty.com.google.protobuf.BlockingService;
@@ -46,15 +42,13 @@ import org.apache.hbase.thirdparty.com.google.protobuf.BlockingService;
import org.apache.hadoop.hbase.shaded.ipc.protobuf.generated.TestProtos.EchoRequestProto;
import org.apache.hadoop.hbase.shaded.ipc.protobuf.generated.TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface;
-@RunWith(Parameterized.class)
-@Category({ RPCTests.class, SmallTests.class })
+@Tag(RPCTests.TAG)
+@Tag(SmallTests.TAG)
+@HBaseParameterizedTestTemplate(name = "{index}: rpcServerImpl={0}")
public class TestRpcHandlerException {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRpcHandlerException.class);
-
private final static Configuration CONF = HBaseConfiguration.create();
+ private final String rpcServerImpl;
/**
* Tests that the rpc scheduler is called when requests arrive. When Rpc handler thread dies, the
@@ -75,20 +69,21 @@ public class TestRpcHandlerException {
}
}
- @Parameters(name = "{index}: rpcServerImpl={0}")
- public static Collection<Object[]> parameters() {
- return Arrays.asList(new Object[] { SimpleRpcServer.class.getName() },
- new Object[] { NettyRpcServer.class.getName() });
+ public TestRpcHandlerException(String rpcServerImpl) {
+ this.rpcServerImpl = rpcServerImpl;
}
- @Parameter(0)
- public String rpcServerImpl;
+ public static Stream<Arguments> parameters() {
+ return Arrays
+ .stream(new Object[] { SimpleRpcServer.class.getName(), NettyRpcServer.class.getName() })
+ .map(Arguments::of);
+ }
/*
* This is a unit test to make sure to abort region server when the number of Rpc handler thread
* caught errors exceeds the threshold. Client will hang when RS aborts.
*/
- @Test
+ @TestTemplate
public void testRpcScheduler() throws IOException, InterruptedException {
PriorityFunction qosFunction = mock(PriorityFunction.class);
Abortable abortable = new AbortServer();
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcMetrics.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcMetrics.java
index c55568d392a..63b958d6f31 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcMetrics.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcMetrics.java
@@ -17,12 +17,11 @@
*/
package org.apache.hadoop.hbase.ipc;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import org.apache.hadoop.hbase.CallDroppedException;
import org.apache.hadoop.hbase.CompatibilityFactory;
import org.apache.hadoop.hbase.DoNotRetryIOException;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.NotServingRegionException;
import org.apache.hadoop.hbase.RegionTooBusyException;
import org.apache.hadoop.hbase.ServerName;
@@ -32,17 +31,13 @@ import org.apache.hadoop.hbase.exceptions.RequestTooBigException;
import org.apache.hadoop.hbase.test.MetricsAssertHelper;
import org.apache.hadoop.hbase.testclassification.RPCTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-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;
-@Category({ RPCTests.class, SmallTests.class })
+@Tag(RPCTests.TAG)
+@Tag(SmallTests.TAG)
public class TestRpcMetrics {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRpcMetrics.class);
-
public MetricsAssertHelper HELPER = CompatibilityFactory.getInstance(MetricsAssertHelper.class);
@Test
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcServerSlowConnectionSetup.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcServerSlowConnectionSetup.java
index 80b3845d668..47aa414c34b 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcServerSlowConnectionSetup.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcServerSlowConnectionSetup.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.hbase.ipc;
import static org.apache.hadoop.hbase.ipc.TestProtobufRpcServiceImpl.SERVICE;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
@@ -27,25 +27,21 @@ import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.util.Arrays;
-import java.util.List;
+import java.util.stream.Stream;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.client.MetricsConnection;
import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;
import org.apache.hadoop.hbase.security.AuthMethod;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RPCTests;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-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.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.params.provider.Arguments;
import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
@@ -58,28 +54,26 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHea
import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;
import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ResponseHeader;
-@RunWith(Parameterized.class)
-@Category({ RPCTests.class, MediumTests.class })
+@Tag(RPCTests.TAG)
+@Tag(MediumTests.TAG)
+@HBaseParameterizedTestTemplate(name = "{index}: rpcServerImpl={0}")
public class TestRpcServerSlowConnectionSetup {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRpcServerSlowConnectionSetup.class);
-
private RpcServer server;
private Socket socket;
+ private final Class<? extends RpcServer> rpcServerImpl;
- @Parameter
- public Class<? extends RpcServer> rpcServerImpl;
+ public TestRpcServerSlowConnectionSetup(Class<? extends RpcServer> rpcServerImpl) {
+ this.rpcServerImpl = rpcServerImpl;
+ }
- @Parameters(name = "{index}: rpcServerImpl={0}")
- public static List<Object[]> params() {
- return Arrays.asList(new Object[] { SimpleRpcServer.class },
- new Object[] { NettyRpcServer.class });
+ public static Stream<Arguments> parameters() {
+ return Arrays.stream(new Object[] { SimpleRpcServer.class, NettyRpcServer.class })
+ .map(Arguments::of);
}
- @Before
+ @BeforeEach
public void setUp() throws IOException {
Configuration conf = HBaseConfiguration.create();
conf.set(RpcServerFactory.CUSTOM_RPC_SERVER_IMPL_CONF_KEY, rpcServerImpl.getName());
@@ -90,7 +84,7 @@ public class TestRpcServerSlowConnectionSetup {
socket = new Socket("localhost", server.getListenerAddress().getPort());
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
if (socket != null) {
socket.close();
@@ -100,7 +94,7 @@ public class TestRpcServerSlowConnectionSetup {
}
}
- @Test
+ @TestTemplate
public void test() throws IOException, InterruptedException {
int rpcHeaderLen = HConstants.RPC_HEADER.length;
byte[] preamble = new byte[rpcHeaderLen + 2];
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcServerTraceLogging.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcServerTraceLogging.java
index 0ae0ac51ffb..df57673365d 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcServerTraceLogging.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcServerTraceLogging.java
@@ -17,26 +17,20 @@
*/
package org.apache.hadoop.hbase.ipc;
-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 org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-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.Tag;
+import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
public class TestRpcServerTraceLogging {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRpcServerTraceLogging.class);
-
private static final org.apache.logging.log4j.core.Logger rpcServerLog =
(org.apache.logging.log4j.core.Logger) org.apache.logging.log4j.LogManager
.getLogger(RpcServer.class);
@@ -54,7 +48,7 @@ public class TestRpcServerTraceLogging {
static final Configuration conf = new Configuration(false);
- @BeforeClass
+ @BeforeAll
public static void setUp() {
Mockito.when(mockRpcServer.getConf()).thenReturn(conf);
Mockito.when(mockRpcServer.truncateTraceLog(Mockito.any(String.class))).thenCallRealMethod();
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcSkipInitialSaslHandshake.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcSkipInitialSaslHandshake.java
index 48e8667064a..222155426d3 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcSkipInitialSaslHandshake.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcSkipInitialSaslHandshake.java
@@ -23,15 +23,14 @@ import static org.apache.hadoop.hbase.security.HBaseKerberosUtils.getKeytabFileF
import static org.apache.hadoop.hbase.security.HBaseKerberosUtils.getPrincipalForTesting;
import static org.apache.hadoop.hbase.security.HBaseKerberosUtils.loginKerberosPrincipal;
import static org.apache.hadoop.hbase.security.HBaseKerberosUtils.setSecuredConfiguration;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.File;
import java.net.InetSocketAddress;
import java.util.Collections;
import java.util.concurrent.atomic.AtomicReference;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.security.HBaseKerberosUtils;
@@ -41,12 +40,11 @@ import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RPCTests;
import org.apache.hadoop.minikdc.MiniKdc;
import org.apache.hadoop.security.UserGroupInformation;
-import org.junit.AfterClass;
-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.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
@@ -55,13 +53,10 @@ import org.apache.hbase.thirdparty.io.netty.channel.Channel;
import org.apache.hadoop.hbase.shaded.ipc.protobuf.generated.TestProtos;
import org.apache.hadoop.hbase.shaded.ipc.protobuf.generated.TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface;
-@Category({ RPCTests.class, MediumTests.class })
+@Tag(RPCTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRpcSkipInitialSaslHandshake {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRpcSkipInitialSaslHandshake.class);
-
protected static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
protected static final File KEYTAB_FILE =
@@ -103,18 +98,18 @@ public class TestRpcSkipInitialSaslHandshake {
serverConf = new Configuration(TEST_UTIL.getConfiguration());
}
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
initKDCAndConf();
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
stopKDC();
TEST_UTIL.cleanupTestDir();
}
- @Before
+ @BeforeEach
public void setUpTest() throws Exception {
setUpPrincipalAndConf();
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSecureNettyRpcServer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSecureNettyRpcServer.java
index cfddcbebbda..21ae9e0f2c4 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSecureNettyRpcServer.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSecureNettyRpcServer.java
@@ -19,40 +19,42 @@ package org.apache.hadoop.hbase.ipc;
import java.io.File;
import java.security.PrivilegedExceptionAction;
+import java.util.stream.Stream;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.CommonConfigurationKeys;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate;
import org.apache.hadoop.hbase.HBaseTestingUtility;
-import org.apache.hadoop.hbase.TableNameTestRule;
import org.apache.hadoop.hbase.security.HBaseKerberosUtils;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RPCTests;
import org.apache.hadoop.minikdc.MiniKdc;
import org.apache.hadoop.security.UserGroupInformation;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.params.provider.Arguments;
-@Category({ RPCTests.class, MediumTests.class })
+@Tag(RPCTests.TAG)
+@Tag(MediumTests.TAG)
+@HBaseParameterizedTestTemplate(name = "{index}: allocatorType={0}")
public class TestSecureNettyRpcServer extends TestNettyRpcServer {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestSecureNettyRpcServer.class);
-
private static File KEYTAB_FILE;
private static MiniKdc KDC;
private static String HOST = "localhost";
private static String PRINCIPAL;
private static UserGroupInformation UGI;
- @Rule
- public TableNameTestRule name = new TableNameTestRule();
+ public TestSecureNettyRpcServer(String allocatorType) {
+ super(allocatorType);
+ }
+
+ public static Stream<Arguments> parameters() {
+ return TestNettyRpcServer.parameters();
+ }
- @Before
+ @BeforeEach
public void setup() throws Exception {
TEST_UTIL = new HBaseTestingUtility();
KEYTAB_FILE = new File(TEST_UTIL.getDataTestDir("keytab").toUri().getPath());
@@ -67,7 +69,7 @@ public class TestSecureNettyRpcServer extends TestNettyRpcServer {
super.setup();
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
if (KDC != null) {
KDC.stop();
@@ -78,12 +80,12 @@ public class TestSecureNettyRpcServer extends TestNettyRpcServer {
}
@Override
- @Test
+ @TestTemplate
public void testNettyRpcServer() throws Exception {
UGI.doAs(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws Exception {
- doTest(name.getTableName());
+ doTest(tableName);
return null;
}
});
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSecureSimpleRpcServer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSecureSimpleRpcServer.java
index 822ccec3dd3..cc357b9a1a4 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSecureSimpleRpcServer.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSecureSimpleRpcServer.java
@@ -21,27 +21,20 @@ import java.io.File;
import java.security.PrivilegedExceptionAction;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.CommonConfigurationKeys;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
-import org.apache.hadoop.hbase.TableNameTestRule;
import org.apache.hadoop.hbase.security.HBaseKerberosUtils;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RPCTests;
import org.apache.hadoop.minikdc.MiniKdc;
import org.apache.hadoop.security.UserGroupInformation;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
-@Category({ RPCTests.class, MediumTests.class })
-public class TestSecureSimpleRpcServer extends TestSimpleRpcServer {
-
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestSecureSimpleRpcServer.class);
+@Tag(RPCTests.TAG)
+@Tag(MediumTests.TAG)
+public class TestSecureSimpleRpcServer extends AbstractTestRpcServer {
private static File KEYTAB_FILE;
private static MiniKdc KDC;
@@ -49,10 +42,7 @@ public class TestSecureSimpleRpcServer extends TestSimpleRpcServer {
private static String PRINCIPAL;
private static UserGroupInformation UGI;
- @Rule
- public TableNameTestRule name = new TableNameTestRule();
-
- @BeforeClass
+ @BeforeAll
public static void setupClass() throws Exception {
TEST_UTIL = new HBaseTestingUtility();
KEYTAB_FILE = new File(TEST_UTIL.getDataTestDir("keytab").toUri().getPath());
@@ -64,27 +54,31 @@ public class TestSecureSimpleRpcServer extends TestSimpleRpcServer {
Configuration conf = TEST_UTIL.getConfiguration();
HBaseKerberosUtils.setSecuredConfiguration(conf, principalName, principalName);
UGI = login(KEYTAB_FILE.toString(), principalName);
- TestSimpleRpcServer.setupClass();
-
+ TEST_UTIL.getConfiguration().set(RpcServerFactory.CUSTOM_RPC_SERVER_IMPL_CONF_KEY,
+ SimpleRpcServer.class.getName());
+ TEST_UTIL.startMiniCluster();
}
- @AfterClass
+ @AfterAll
public static void tearDownClass() throws Exception {
if (KDC != null) {
KDC.stop();
}
- KEYTAB_FILE.delete();
- TestSimpleRpcServer.tearDownClass();
- TEST_UTIL.cleanupTestDir();
+ if (KEYTAB_FILE != null) {
+ KEYTAB_FILE.delete();
+ }
+ if (TEST_UTIL != null) {
+ TEST_UTIL.shutdownMiniCluster();
+ TEST_UTIL.cleanupTestDir();
+ }
}
- @Override
@Test
public void testSimpleRpcServer() throws Exception {
UGI.doAs(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws Exception {
- doTest(name.getTableName());
+ doTest(tableName);
return null;
}
});
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSecurityRpcSentBytesMetrics.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSecurityRpcSentBytesMetrics.java
index 79551a68328..5de5a7fb497 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSecurityRpcSentBytesMetrics.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSecurityRpcSentBytesMetrics.java
@@ -23,13 +23,12 @@ import static org.apache.hadoop.hbase.security.HBaseKerberosUtils.getKeytabFileF
import static org.apache.hadoop.hbase.security.HBaseKerberosUtils.getPrincipalForTesting;
import static org.apache.hadoop.hbase.security.HBaseKerberosUtils.loginKerberosPrincipal;
import static org.apache.hadoop.hbase.security.HBaseKerberosUtils.setSecuredConfiguration;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.File;
import java.net.InetSocketAddress;
import java.util.Collections;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.security.HBaseKerberosUtils;
@@ -39,12 +38,11 @@ import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.SecurityTests;
import org.apache.hadoop.minikdc.MiniKdc;
import org.apache.hadoop.security.UserGroupInformation;
-import org.junit.AfterClass;
-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.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
@@ -52,13 +50,10 @@ import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
import org.apache.hadoop.hbase.shaded.ipc.protobuf.generated.TestProtos;
import org.apache.hadoop.hbase.shaded.ipc.protobuf.generated.TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface;
-@Category({ SecurityTests.class, MediumTests.class })
+@Tag(SecurityTests.TAG)
+@Tag(MediumTests.TAG)
public class TestSecurityRpcSentBytesMetrics {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestSecurityRpcSentBytesMetrics.class);
-
protected static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
protected static final File KEYTAB_FILE =
@@ -100,18 +95,18 @@ public class TestSecurityRpcSentBytesMetrics {
setSecuredConfiguration(serverConf);
}
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
initKDCAndConf();
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
stopKDC();
TEST_UTIL.cleanupTestDir();
}
- @Before
+ @BeforeEach
public void setUpTest() throws Exception {
setUpPrincipalAndConf();
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestServerCall.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestServerCall.java
index 152f358b1a6..6b1bf82fff1 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestServerCall.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestServerCall.java
@@ -17,8 +17,8 @@
*/
package org.apache.hadoop.hbase.ipc;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
@@ -29,16 +29,14 @@ import java.net.InetAddress;
import java.nio.ByteBuffer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.CellScanner;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.codec.Codec;
import org.apache.hadoop.hbase.io.ByteBuffAllocator;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RPCTests;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,13 +50,10 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader
/**
* Test for ServerCall IOException handling in setResponse method.
*/
-@Category({ RPCTests.class, MediumTests.class })
+@Tag(RPCTests.TAG)
+@Tag(MediumTests.TAG)
public class TestServerCall {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestServerCall.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestServerCall.class);
private Configuration conf;
@@ -71,7 +66,7 @@ public class TestServerCall {
private BlockingService mockService;
private MethodDescriptor mockMethodDescriptor;
- @Before
+ @BeforeEach
public void setUp() throws Exception {
conf = HBaseConfiguration.create();
mockConnection = mock(NettyServerRpcConnection.class);
@@ -117,13 +112,13 @@ public class TestServerCall {
// Verify that response is not null and contains error information
BufferChain response = call.getResponse();
- assertNotNull("Response should not be null even when IOException occurs", response);
- assertTrue("Call should be marked as error", call.isError);
+ assertNotNull(response, "Response should not be null even when IOException occurs");
+ assertTrue(call.isError, "Call should be marked as error");
// Verify the response buffer is valid
ByteBuffer[] bufs = response.getBuffers();
- assertNotNull("Response buffers should not be null", bufs);
- assertTrue("Response should have at least one buffer", bufs.length > 0);
+ assertNotNull(bufs, "Response buffers should not be null");
+ assertTrue(bufs.length > 0, "Response should have at least one buffer");
}
/**
@@ -146,7 +141,7 @@ public class TestServerCall {
// Even if error response creation might fail, the call should still be marked as error
call.setResponse(mockResponse, mockCellScanner, null, null);
- assertTrue("Call should be marked as error", call.isError);
+ assertTrue(call.isError, "Call should be marked as error");
}
/**
@@ -168,7 +163,7 @@ public class TestServerCall {
call.setResponse(mockResponse, null, null, null);
BufferChain response = call.getResponse();
- assertNotNull("Response should not be null in normal flow", response);
- assertTrue("Call should not be marked as error in normal flow", !call.isError);
+ assertNotNull(response, "Response should not be null in normal flow");
+ assertTrue(!call.isError, "Call should not be marked as error in normal flow");
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSimpleRpcScheduler.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSimpleRpcScheduler.java
index 86f46171673..c7490bb2e7c 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSimpleRpcScheduler.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSimpleRpcScheduler.java
@@ -17,11 +17,11 @@
*/
package org.apache.hadoop.hbase.ipc;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doAnswer;
@@ -43,7 +43,6 @@ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.LinkedBlockingQueue;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Abortable;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.client.Put;
@@ -54,12 +53,10 @@ import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.EnvironmentEdge;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
import org.apache.hadoop.hbase.util.Threads;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
import org.mockito.Mockito;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
@@ -76,16 +73,10 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanReques
import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos;
import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;
-@Category({ RPCTests.class, MediumTests.class })
+@Tag(RPCTests.TAG)
+@Tag(MediumTests.TAG)
public class TestSimpleRpcScheduler {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestSimpleRpcScheduler.class);
-
- @Rule
- public TestName testName = new TestName();
-
private static final Logger LOG = LoggerFactory.getLogger(TestSimpleRpcScheduler.class);
private final RpcScheduler.Context CONTEXT = new RpcScheduler.Context() {
@@ -95,9 +86,11 @@ public class TestSimpleRpcScheduler {
}
};
private Configuration conf;
+ private String testMethodName;
- @Before
- public void setUp() {
+ @BeforeEach
+ public void setUp(TestInfo testInfo) {
+ testMethodName = testInfo.getTestMethod().get().getName();
conf = HBaseConfiguration.create();
}
@@ -650,8 +643,8 @@ public class TestSimpleRpcScheduler {
// make sure fast calls are handled
waitUntilQueueEmpty(scheduler);
Thread.sleep(100);
- assertEquals("None of these calls should have been discarded", 0,
- scheduler.getNumGeneralCallsDropped());
+ assertEquals(0, scheduler.getNumGeneralCallsDropped(),
+ "None of these calls should have been discarded");
envEdge.offset = 151;
// calls slower than min delay, but not individually slow enough to be dropped
@@ -665,8 +658,8 @@ public class TestSimpleRpcScheduler {
// make sure somewhat slow calls are handled
waitUntilQueueEmpty(scheduler);
Thread.sleep(100);
- assertEquals("None of these calls should have been discarded", 0,
- scheduler.getNumGeneralCallsDropped());
+ assertEquals(0, scheduler.getNumGeneralCallsDropped(),
+ "None of these calls should have been discarded");
envEdge.offset = 2000;
// now slow calls and the ones to be dropped
@@ -680,8 +673,9 @@ public class TestSimpleRpcScheduler {
// make sure somewhat slow calls are handled
waitUntilQueueEmpty(scheduler);
Thread.sleep(100);
- assertTrue("There should have been at least 12 calls dropped however there were "
- + scheduler.getNumGeneralCallsDropped(), scheduler.getNumGeneralCallsDropped() > 12);
+ assertTrue(scheduler.getNumGeneralCallsDropped() > 12,
+ "There should have been at least 12 calls dropped however there were "
+ + scheduler.getNumGeneralCallsDropped());
} finally {
scheduler.stop();
}
@@ -689,7 +683,7 @@ public class TestSimpleRpcScheduler {
@Test
public void testFastPathBalancedQueueRpcExecutorWithQueueLength0() throws Exception {
- String name = testName.getMethodName();
+ String name = testMethodName;
int handlerCount = 1;
String callQueueType = RpcExecutor.CALL_QUEUE_TYPE_CODEL_CONF_VALUE;
int maxQueueLength = 0;
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSimpleRpcServer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSimpleRpcServer.java
index 2bb50cb3d42..56d5ddf7255 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSimpleRpcServer.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestSimpleRpcServer.java
@@ -17,53 +17,22 @@
*/
package org.apache.hadoop.hbase.ipc;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
-import org.apache.hadoop.hbase.TableName;
-import org.apache.hadoop.hbase.TableNameTestRule;
-import org.apache.hadoop.hbase.client.Get;
-import org.apache.hadoop.hbase.client.Put;
-import org.apache.hadoop.hbase.client.Result;
-import org.apache.hadoop.hbase.client.Table;
-import org.apache.hadoop.hbase.client.TableDescriptor;
-import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
-import org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RPCTests;
-import org.apache.hadoop.hbase.util.Bytes;
-import org.apache.hadoop.hbase.util.LoadTestKVGenerator;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-
-@Category({ RPCTests.class, MediumTests.class })
-public class TestSimpleRpcServer {
-
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestSimpleRpcServer.class);
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
- private static final byte[] FAMILY = Bytes.toBytes("f");
- private static final byte[] QUALIFIER = Bytes.toBytes("q");
- private static final int NUM_ROWS = 100;
- private static final int MIN_LEN = 1000;
- private static final int MAX_LEN = 1000000;
- protected static final LoadTestKVGenerator GENERATOR = new LoadTestKVGenerator(MIN_LEN, MAX_LEN);
- protected static HBaseTestingUtility TEST_UTIL;
-
- @Rule
- public TableNameTestRule name = new TableNameTestRule();
+@Tag(RPCTests.TAG)
+@Tag(MediumTests.TAG)
+public class TestSimpleRpcServer extends AbstractTestRpcServer {
@SuppressWarnings("deprecation")
- @BeforeClass
+ @BeforeAll
public static void setupClass() throws Exception {
- // A subclass may have already created TEST_UTIL and is now upcalling to us
+ // Reuse TEST_UTIL if the test already initialized it.
if (TEST_UTIL == null) {
TEST_UTIL = new HBaseTestingUtility();
}
@@ -73,38 +42,15 @@ public class TestSimpleRpcServer {
TEST_UTIL.startMiniCluster();
}
- @AfterClass
+ @AfterAll
public static void tearDownClass() throws Exception {
- TEST_UTIL.shutdownMiniCluster();
+ if (TEST_UTIL != null) {
+ TEST_UTIL.shutdownMiniCluster();
+ }
}
@Test
public void testSimpleRpcServer() throws Exception {
- doTest(name.getTableName());
+ doTest(tableName);
}
-
- protected void doTest(TableName tableName) throws Exception {
- // Splitting just complicates the test scenario, disable it
- final TableDescriptor desc = TableDescriptorBuilder.newBuilder(tableName)
- .setRegionSplitPolicyClassName(DisabledRegionSplitPolicy.class.getName()).build();
- try (Table table =
- TEST_UTIL.createTable(desc, new byte[][] { FAMILY }, TEST_UTIL.getConfiguration())) {
- // put some test data
- for (int i = 0; i < NUM_ROWS; i++) {
- final byte[] rowKey = Bytes.toBytes(LoadTestKVGenerator.md5PrefixedKey(i));
- final byte[] v = GENERATOR.generateRandomSizeValue(rowKey, QUALIFIER);
- table.put(new Put(rowKey).addColumn(FAMILY, QUALIFIER, v));
- }
- // read to verify it.
- for (int i = 0; i < NUM_ROWS; i++) {
- final byte[] rowKey = Bytes.toBytes(LoadTestKVGenerator.md5PrefixedKey(i));
- final Result r = table.get(new Get(rowKey).addColumn(FAMILY, QUALIFIER));
- assertNotNull("Result was empty", r);
- final byte[] v = r.getValue(FAMILY, QUALIFIER);
- assertNotNull("Result did not contain expected value", v);
- assertTrue("Value was not verified", LoadTestKVGenerator.verify(v, rowKey, QUALIFIER));
- }
- }
- }
-
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/MobTestUtil.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/MobTestUtil.java
index 1d3d5bf5ad3..e89bf617b16 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/MobTestUtil.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/MobTestUtil.java
@@ -17,6 +17,9 @@
*/
package org.apache.hadoop.hbase.mob;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
import java.io.IOException;
import java.util.Date;
import java.util.List;
@@ -40,7 +43,6 @@ import org.apache.hadoop.hbase.io.hfile.CacheConfig;
import org.apache.hadoop.hbase.regionserver.StoreFileWriter;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
-import org.junit.Assert;
public class MobTestUtil {
protected static final char FIRST_CHAR = 'a';
@@ -84,13 +86,11 @@ public class MobTestUtil {
* Compare two Cells only for their row family qualifier value
*/
public static void assertCellEquals(Cell firstKeyValue, Cell secondKeyValue) {
- Assert.assertArrayEquals(CellUtil.cloneRow(firstKeyValue), CellUtil.cloneRow(secondKeyValue));
- Assert.assertArrayEquals(CellUtil.cloneFamily(firstKeyValue),
- CellUtil.cloneFamily(secondKeyValue));
- Assert.assertArrayEquals(CellUtil.cloneQualifier(firstKeyValue),
+ assertArrayEquals(CellUtil.cloneRow(firstKeyValue), CellUtil.cloneRow(secondKeyValue));
+ assertArrayEquals(CellUtil.cloneFamily(firstKeyValue), CellUtil.cloneFamily(secondKeyValue));
+ assertArrayEquals(CellUtil.cloneQualifier(firstKeyValue),
CellUtil.cloneQualifier(secondKeyValue));
- Assert.assertArrayEquals(CellUtil.cloneValue(firstKeyValue),
- CellUtil.cloneValue(secondKeyValue));
+ assertArrayEquals(CellUtil.cloneValue(firstKeyValue), CellUtil.cloneValue(secondKeyValue));
}
public static void assertCellsValue(Table table, Scan scan, byte[] expectedValue,
@@ -101,12 +101,12 @@ public class MobTestUtil {
List<Cell> cells = res.listCells();
for (Cell cell : cells) {
// Verify the value
- Assert.assertArrayEquals(expectedValue, CellUtil.cloneValue(cell));
+ assertArrayEquals(expectedValue, CellUtil.cloneValue(cell));
count++;
}
}
results.close();
- Assert.assertEquals(expectedCount, count);
+ assertEquals(expectedCount, count);
}
/**
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestCachedMobFile.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestCachedMobFile.java
index eee9fd0d5fc..af835ad965d 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestCachedMobFile.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestCachedMobFile.java
@@ -17,13 +17,13 @@
*/
package org.apache.hadoop.hbase.mob;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.KeyValue.Type;
@@ -36,22 +36,15 @@ import org.apache.hadoop.hbase.regionserver.StoreFileInfo;
import org.apache.hadoop.hbase.regionserver.StoreFileWriter;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.Assert;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
public class TestCachedMobFile {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestCachedMobFile.class);
-
static final Logger LOG = LoggerFactory.getLogger(TestCachedMobFile.class);
private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
private Configuration conf = TEST_UTIL.getConfiguration();
@@ -61,12 +54,10 @@ public class TestCachedMobFile {
private static final long EXPECTED_REFERENCE_ZERO = 0;
private static final long EXPECTED_REFERENCE_ONE = 1;
private static final long EXPECTED_REFERENCE_TWO = 2;
- @Rule
- public TestName testName = new TestName();
@Test
- public void testOpenClose() throws Exception {
- String caseName = testName.getMethodName();
+ public void testOpenClose(TestInfo testInfo) throws Exception {
+ String caseName = testInfo.getTestMethod().get().getName();
Path testDir = TEST_UTIL.getDataTestDir();
FileSystem fs = testDir.getFileSystem(conf);
HFileContext meta = new HFileContextBuilder().withBlockSize(8 * 1024).build();
@@ -90,8 +81,8 @@ public class TestCachedMobFile {
@SuppressWarnings("SelfComparison")
@Test
- public void testCompare() throws Exception {
- String caseName = testName.getMethodName();
+ public void testCompare(TestInfo testInfo) throws Exception {
+ String caseName = testInfo.getTestMethod().get().getName();
Path testDir = TEST_UTIL.getDataTestDir();
FileSystem fs = testDir.getFileSystem(conf);
Path outputDir1 = new Path(testDir, FAMILY1);
@@ -119,13 +110,13 @@ public class TestCachedMobFile {
}
@Test
- public void testReadKeyValue() throws Exception {
+ public void testReadKeyValue(TestInfo testInfo) throws Exception {
Path testDir = TEST_UTIL.getDataTestDir();
FileSystem fs = testDir.getFileSystem(conf);
HFileContext meta = new HFileContextBuilder().withBlockSize(8 * 1024).build();
StoreFileWriter writer = new StoreFileWriter.Builder(conf, cacheConf, fs).withOutputDir(testDir)
.withFileContext(meta).build();
- String caseName = testName.getMethodName();
+ String caseName = testInfo.getTestMethod().get().getName();
MobTestUtil.writeStoreFile(writer, caseName);
StoreFileInfo storeFileInfo =
StoreFileInfo.createStoreFileInfoForHFile(conf, fs, writer.getPath(), true);
@@ -165,6 +156,6 @@ public class TestCachedMobFile {
// Test the key which is more than the end key
byte[] upperKey = Bytes.toBytes("z{"); // Bigger than "zz"
seekKey = new KeyValue(upperKey, family, qualify, Long.MAX_VALUE, Type.Put, upperKey);
- Assert.assertNull(cachedMobFile.readCell(seekKey, false));
+ assertNull(cachedMobFile.readCell(seekKey, false));
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestDefaultMobStoreFlusher.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestDefaultMobStoreFlusher.java
index 056afaf6fc4..0b05560d984 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestDefaultMobStoreFlusher.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestDefaultMobStoreFlusher.java
@@ -17,12 +17,14 @@
*/
package org.apache.hadoop.hbase.mob;
-import java.util.Arrays;
-import java.util.Collection;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
import java.util.List;
+import java.util.stream.Stream;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
@@ -36,25 +38,17 @@ import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
import org.apache.hadoop.hbase.regionserver.storefiletracker.StoreFileTrackerFactory;
import org.apache.hadoop.hbase.testclassification.LargeTests;
import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
-@RunWith(Parameterized.class)
-@Category(LargeTests.class)
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.TestInfo;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.params.provider.Arguments;
+
+@Tag(LargeTests.TAG)
+@HBaseParameterizedTestTemplate(name = "{index}: useFileBasedSFT={0}")
public class TestDefaultMobStoreFlusher {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestDefaultMobStoreFlusher.class);
-
private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
private final static byte[] row1 = Bytes.toBytes("row1");
private final static byte[] row2 = Bytes.toBytes("row2");
@@ -64,8 +58,7 @@ public class TestDefaultMobStoreFlusher {
private final static byte[] value1 = Bytes.toBytes("value1");
private final static byte[] value2 = Bytes.toBytes("value2");
- @Rule
- public TestName name = new TestName();
+ private String testMethodName;
protected Boolean useFileBasedSFT;
@@ -73,14 +66,14 @@ public class TestDefaultMobStoreFlusher {
this.useFileBasedSFT = useFileBasedSFT;
}
- @Parameterized.Parameters
- public static Collection<Boolean> data() {
- Boolean[] data = { false, true };
- return Arrays.asList(data);
+ public static Stream<Arguments> parameters() {
+ return Stream.of(false, true).map(Arguments::of);
}
- @Before
- public void setUpBefore() throws Exception {
+ @BeforeEach
+ public void setUpBefore(TestInfo testInfo) throws Exception {
+ testMethodName = testInfo.getTestMethod().get().getName()
+ + testInfo.getDisplayName().replaceAll("[:= ]", "_").replaceAll("_+", "_").trim();
if (useFileBasedSFT) {
TEST_UTIL.getConfiguration().set(StoreFileTrackerFactory.TRACKER_IMPL,
"org.apache.hadoop.hbase.regionserver.storefiletracker.FileBasedStoreFileTracker");
@@ -88,23 +81,23 @@ public class TestDefaultMobStoreFlusher {
TEST_UTIL.startMiniCluster(1);
}
- @After
+ @AfterEach
public void tearDownAfter() throws Exception {
TEST_UTIL.shutdownMiniCluster();
}
- @Test
+ @TestTemplate
public void testFlushNonMobFile() throws Exception {
- final TableName tableName = TableName.valueOf(TestMobUtils.getTableName(name));
+ final TableName tableName = TableName.valueOf(TestMobUtils.getTableName(testMethodName));
TableDescriptor tableDescriptor = TableDescriptorBuilder.newBuilder(tableName)
.setColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(family).setMaxVersions(4).build())
.build();
testFlushFile(tableDescriptor);
}
- @Test
+ @TestTemplate
public void testFlushMobFile() throws Exception {
- final TableName tableName = TableName.valueOf(TestMobUtils.getTableName(name));
+ final TableName tableName = TableName.valueOf(TestMobUtils.getTableName(testMethodName));
TableDescriptor tableDescriptor = TableDescriptorBuilder.newBuilder(tableName)
.setColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(family).setMobEnabled(true)
.setMobThreshold(3L).setMaxVersions(4).build())
@@ -142,12 +135,12 @@ public class TestDefaultMobStoreFlusher {
size++;
List<Cell> cells = result.getColumnCells(family, qf1);
// Verify the cell size
- Assert.assertEquals(1, cells.size());
+ assertEquals(1, cells.size());
// Verify the value
- Assert.assertArrayEquals(value1, CellUtil.cloneValue(cells.get(0)));
+ assertArrayEquals(value1, CellUtil.cloneValue(cells.get(0)));
}
scanner.close();
- Assert.assertEquals(1, size);
+ assertEquals(1, size);
} finally {
table.close();
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestExpiredMobFileCleaner.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestExpiredMobFileCleaner.java
index a59b839a806..d1b976cefee 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestExpiredMobFileCleaner.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestExpiredMobFileCleaner.java
@@ -18,11 +18,10 @@
package org.apache.hadoop.hbase.mob;
import static org.apache.hadoop.hbase.mob.MobConstants.MOB_CLEANER_BATCH_SIZE_UPPER_BOUND;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
@@ -36,23 +35,18 @@ import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.CommonFSUtils;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
import org.apache.hadoop.util.ToolRunner;
-import org.junit.After;
-import org.junit.AfterClass;
-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.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category(MediumTests.class)
+@Tag(MediumTests.TAG)
public class TestExpiredMobFileCleaner {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestExpiredMobFileCleaner.class);
-
private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
private final static TableName tableName = TableName.valueOf("TestExpiredMobFileCleaner");
private final static String family = "family";
@@ -65,23 +59,23 @@ public class TestExpiredMobFileCleaner {
private static BufferedMutator table;
private static Admin admin;
- @BeforeClass
+ @BeforeAll
public static void setUpBeforeClass() throws Exception {
TEST_UTIL.getConfiguration().setInt("hfile.format.version", 3);
TEST_UTIL.getConfiguration().setInt(MOB_CLEANER_BATCH_SIZE_UPPER_BOUND, 2);
}
- @AfterClass
+ @AfterAll
public static void tearDownAfterClass() throws Exception {
}
- @Before
+ @BeforeEach
public void setUp() throws Exception {
TEST_UTIL.startMiniCluster(1);
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
admin.disableTable(tableName);
admin.deleteTable(tableName);
@@ -145,7 +139,7 @@ public class TestExpiredMobFileCleaner {
TEST_UTIL.getDefaultRootDirPath(), LOG);
FileStatus[] firstFiles = TEST_UTIL.getTestFileSystem().listStatus(mobDirPath);
// the first mob file
- assertEquals("Before cleanup without delay 1", 1, firstFiles.length);
+ assertEquals(1, firstFiles.length, "Before cleanup without delay 1");
String firstFile = firstFiles[0].getPath().getName();
// 1.5 day before
@@ -153,7 +147,7 @@ public class TestExpiredMobFileCleaner {
putKVAndFlush(table, row2, dummyData, ts);
FileStatus[] secondFiles = TEST_UTIL.getTestFileSystem().listStatus(mobDirPath);
// now there are 2 mob files
- assertEquals("Before cleanup without delay 2", 2, secondFiles.length);
+ assertEquals(2, secondFiles.length, "Before cleanup without delay 2");
String f1 = secondFiles[0].getPath().getName();
String f2 = secondFiles[1].getPath().getName();
String secondFile = f1.equals(firstFile) ? f2 : f1;
@@ -164,7 +158,7 @@ public class TestExpiredMobFileCleaner {
putKVAndFlush(table, row3, dummyData, ts);
FileStatus[] thirdFiles = TEST_UTIL.getTestFileSystem().listStatus(mobDirPath);
// now there are 4 mob files
- assertEquals("Before cleanup without delay 3", 4, thirdFiles.length);
+ assertEquals(4, thirdFiles.length, "Before cleanup without delay 3");
modifyColumnExpiryDays(2); // ttl = 2, make the first row expired
@@ -177,8 +171,8 @@ public class TestExpiredMobFileCleaner {
FileStatus[] filesAfterClean = TEST_UTIL.getTestFileSystem().listStatus(mobDirPath);
String lastFile = filesAfterClean[0].getPath().getName();
// there are 4 mob files in total, but only 3 need to be cleaned
- assertEquals("After cleanup without delay 1", 1, filesAfterClean.length);
- assertEquals("After cleanup without delay 2", secondFile, lastFile);
+ assertEquals(1, filesAfterClean.length, "After cleanup without delay 1");
+ assertEquals(secondFile, lastFile, "After cleanup without delay 2");
}
private int secondsOfDay() {
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestExpiredMobFileCleanerChore.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestExpiredMobFileCleanerChore.java
index 3d9cced8935..81567db88c0 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestExpiredMobFileCleanerChore.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestExpiredMobFileCleanerChore.java
@@ -19,12 +19,11 @@ package org.apache.hadoop.hbase.mob;
import static org.apache.hadoop.hbase.mob.MobConstants.MOB_CLEANER_BATCH_SIZE_UPPER_BOUND;
import static org.apache.hadoop.hbase.mob.MobConstants.MOB_CLEANER_THREAD_COUNT;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
@@ -38,20 +37,16 @@ import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.MediumTests;
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.Assert;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-
-@Category({ MediumTests.class, MasterTests.class })
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+
+@Tag(MediumTests.TAG)
+@Tag(MasterTests.TAG)
public class TestExpiredMobFileCleanerChore {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestExpiredMobFileCleanerChore.class);
private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
private final static TableName tableName = TableName.valueOf("TestExpiredMobFileCleaner");
private final static TableName tableName2 = TableName.valueOf("TestExpiredMobFileCleaner2");
@@ -66,7 +61,7 @@ public class TestExpiredMobFileCleanerChore {
private static BufferedMutator table2;
private static MobFileCleanerChore mobFileCleanerChore;
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
TEST_UTIL.getConfiguration().setInt("hfile.format.version", 3);
TEST_UTIL.getConfiguration().setInt(MOB_CLEANER_BATCH_SIZE_UPPER_BOUND, 2);
@@ -74,7 +69,7 @@ public class TestExpiredMobFileCleanerChore {
mobFileCleanerChore = TEST_UTIL.getMiniHBaseCluster().getMaster().getMobFileCleanerChore();
}
- @After
+ @AfterEach
public void cleanUp() throws IOException {
admin.disableTable(tableName);
admin.deleteTable(tableName);
@@ -83,7 +78,7 @@ public class TestExpiredMobFileCleanerChore {
admin.close();
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
TEST_UTIL.shutdownMiniCluster();
TEST_UTIL.getTestFileSystem().delete(TEST_UTIL.getDataTestDir(), true);
@@ -94,7 +89,7 @@ public class TestExpiredMobFileCleanerChore {
TEST_UTIL.getConfiguration().setInt(MOB_CLEANER_THREAD_COUNT, 1);
mobFileCleanerChore.onConfigurationChange(TEST_UTIL.getConfiguration());
int corePoolSize = mobFileCleanerChore.getExecutor().getCorePoolSize();
- Assert.assertEquals(1, corePoolSize);
+ assertEquals(1, corePoolSize);
testCleanerInternal();
}
@@ -103,7 +98,7 @@ public class TestExpiredMobFileCleanerChore {
TEST_UTIL.getConfiguration().setInt(MOB_CLEANER_THREAD_COUNT, 2);
mobFileCleanerChore.onConfigurationChange(TEST_UTIL.getConfiguration());
int corePoolSize = mobFileCleanerChore.getExecutor().getCorePoolSize();
- Assert.assertEquals(2, corePoolSize);
+ assertEquals(2, corePoolSize);
testCleanerInternal();
}
@@ -174,7 +169,7 @@ public class TestExpiredMobFileCleanerChore {
putKVAndFlush(table, row1, dummyData, ts, tableName);
FileStatus[] firstFiles = TEST_UTIL.getTestFileSystem().listStatus(mobDirPath);
// the first mob file
- assertEquals("Before cleanup without delay 1", 1, firstFiles.length);
+ assertEquals(1, firstFiles.length, "Before cleanup without delay 1");
String firstFile = firstFiles[0].getPath().getName();
// 1.5 day before
@@ -182,7 +177,7 @@ public class TestExpiredMobFileCleanerChore {
putKVAndFlush(table, row2, dummyData, ts, tableName);
FileStatus[] secondFiles = TEST_UTIL.getTestFileSystem().listStatus(mobDirPath);
// now there are 2 mob files
- assertEquals("Before cleanup without delay 2", 2, secondFiles.length);
+ assertEquals(2, secondFiles.length, "Before cleanup without delay 2");
String f1 = secondFiles[0].getPath().getName();
String f2 = secondFiles[1].getPath().getName();
String secondFile = f1.equals(firstFile) ? f2 : f1;
@@ -193,7 +188,7 @@ public class TestExpiredMobFileCleanerChore {
putKVAndFlush(table, row3, dummyData, ts, tableName);
FileStatus[] thirdFiles = TEST_UTIL.getTestFileSystem().listStatus(mobDirPath);
// now there are 4 mob files
- assertEquals("Before cleanup without delay 3", 4, thirdFiles.length);
+ assertEquals(4, thirdFiles.length, "Before cleanup without delay 3");
// modifyColumnExpiryDays(2); // ttl = 2, make the first row expired
@@ -205,7 +200,7 @@ public class TestExpiredMobFileCleanerChore {
putKVAndFlush(table2, row1, dummyData2, ts, tableName2);
FileStatus[] firstFiles2 = TEST_UTIL.getTestFileSystem().listStatus(mobDirPath2);
// the first mob file
- assertEquals("Before cleanup without delay 1", 1, firstFiles2.length);
+ assertEquals(1, firstFiles2.length, "Before cleanup without delay 1");
String firstFile2 = firstFiles2[0].getPath().getName();
// 1.5 day before
@@ -213,7 +208,7 @@ public class TestExpiredMobFileCleanerChore {
putKVAndFlush(table2, row2, dummyData2, ts, tableName2);
FileStatus[] secondFiles2 = TEST_UTIL.getTestFileSystem().listStatus(mobDirPath2);
// now there are 2 mob files
- assertEquals("Before cleanup without delay 2", 2, secondFiles2.length);
+ assertEquals(2, secondFiles2.length, "Before cleanup without delay 2");
String f1Second = secondFiles2[0].getPath().getName();
String f2Second = secondFiles2[1].getPath().getName();
String secondFile2 = f1Second.equals(firstFile2) ? f2Second : f1Second;
@@ -223,7 +218,7 @@ public class TestExpiredMobFileCleanerChore {
putKVAndFlush(table2, row3, dummyData2, ts, tableName2);
FileStatus[] thirdFiles2 = TEST_UTIL.getTestFileSystem().listStatus(mobDirPath2);
// now there are 4 mob files
- assertEquals("Before cleanup without delay 3", 4, thirdFiles2.length);
+ assertEquals(4, thirdFiles2.length, "Before cleanup without delay 3");
modifyColumnExpiryDays(2); // ttl = 2, make the first row expired
@@ -233,14 +228,14 @@ public class TestExpiredMobFileCleanerChore {
FileStatus[] filesAfterClean = TEST_UTIL.getTestFileSystem().listStatus(mobDirPath);
String lastFile = filesAfterClean[0].getPath().getName();
// there are 4 mob files in total, but only 3 need to be cleaned
- assertEquals("After cleanup without delay 1", 1, filesAfterClean.length);
- assertEquals("After cleanup without delay 2", secondFile, lastFile);
+ assertEquals(1, filesAfterClean.length, "After cleanup without delay 1");
+ assertEquals(secondFile, lastFile, "After cleanup without delay 2");
filesAfterClean = TEST_UTIL.getTestFileSystem().listStatus(mobDirPath2);
lastFile = filesAfterClean[0].getPath().getName();
// there are 4 mob files in total, but only 3 need to be cleaned
- assertEquals("After cleanup without delay 1", 1, filesAfterClean.length);
- assertEquals("After cleanup without delay 2", secondFile2, lastFile);
+ assertEquals(1, filesAfterClean.length, "After cleanup without delay 1");
+ assertEquals(secondFile2, lastFile, "After cleanup without delay 2");
}
private static int secondsOfDay() {
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionOptMode.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionOptMode.java
index 816ea29b911..a87482f56b6 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionOptMode.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionOptMode.java
@@ -17,10 +17,9 @@
*/
package org.apache.hadoop.hbase.mob;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate;
import org.apache.hadoop.hbase.testclassification.LargeTests;
-import org.junit.ClassRule;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
/**
* Mob file compaction chore in a generational non-batch mode test. 1. Uses default (non-batch) mode
@@ -32,11 +31,9 @@ import org.junit.experimental.categories.Category;
* than minimum age to archive 10. Runs Mob cleaner chore 11 Verifies that number of MOB files in a
* mob directory is 20. 12 Runs scanner and checks all 3 * 1000 rows.
*/
-@Category(LargeTests.class)
+@Tag(LargeTests.TAG)
+@HBaseParameterizedTestTemplate(name = "{index}: useFileBasedSFT={0}")
public class TestMobCompactionOptMode extends TestMobCompactionWithDefaults {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestMobCompactionOptMode.class);
public TestMobCompactionOptMode(Boolean useFileBasedSFT) {
super(useFileBasedSFT);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionOptRegionBatchMode.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionOptRegionBatchMode.java
index dfd6435d364..3b3857b6001 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionOptRegionBatchMode.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionOptRegionBatchMode.java
@@ -18,15 +18,13 @@
package org.apache.hadoop.hbase.mob;
import java.io.IOException;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate;
import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;
import org.apache.hadoop.hbase.client.TableDescriptor;
import org.apache.hadoop.hbase.testclassification.LargeTests;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.experimental.categories.Category;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.TestInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -40,14 +38,11 @@ import org.slf4j.LoggerFactory;
* time larger than minimum age to archive 10. Runs Mob cleaner chore 11 Verifies that number of MOB
* files in a mob directory is 20. 12 Runs scanner and checks all 3 * 1000 rows.
*/
-@RunWith(Parameterized.class)
-@Category(LargeTests.class)
+@Tag(LargeTests.TAG)
+@HBaseParameterizedTestTemplate(name = "{index}: useFileBasedSFT={0}")
public class TestMobCompactionOptRegionBatchMode extends TestMobCompactionWithDefaults {
private static final Logger LOG =
LoggerFactory.getLogger(TestMobCompactionOptRegionBatchMode.class);
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestMobCompactionOptRegionBatchMode.class);
private static final int batchSize = 7;
private MobFileCompactionChore compactionChore;
@@ -56,9 +51,9 @@ public class TestMobCompactionOptRegionBatchMode extends TestMobCompactionWithDe
super(useFileBasedSFT);
}
- @Before
- public void setUp() throws Exception {
- super.setUp();
+ @BeforeEach
+ public void setUp(TestInfo testInfo) throws Exception {
+ super.setUp(testInfo);
compactionChore = new MobFileCompactionChore(conf, batchSize);
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionRegularRegionBatchMode.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionRegularRegionBatchMode.java
index 5e2806bdee2..39fe1779d34 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionRegularRegionBatchMode.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionRegularRegionBatchMode.java
@@ -18,15 +18,13 @@
package org.apache.hadoop.hbase.mob;
import java.io.IOException;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate;
import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;
import org.apache.hadoop.hbase.client.TableDescriptor;
import org.apache.hadoop.hbase.testclassification.LargeTests;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.experimental.categories.Category;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.TestInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -40,14 +38,11 @@ import org.slf4j.LoggerFactory;
* to archive 10. Runs Mob cleaner chore 11 Verifies that number of MOB files in a mob directory is
* 20. 12 Runs scanner and checks all 3 * 1000 rows.
*/
-@RunWith(Parameterized.class)
-@Category(LargeTests.class)
+@Tag(LargeTests.TAG)
+@HBaseParameterizedTestTemplate(name = "{index}: useFileBasedSFT={0}")
public class TestMobCompactionRegularRegionBatchMode extends TestMobCompactionWithDefaults {
private static final Logger LOG =
LoggerFactory.getLogger(TestMobCompactionRegularRegionBatchMode.class);
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestMobCompactionRegularRegionBatchMode.class);
private static final int batchSize = 7;
private MobFileCompactionChore compactionChore;
@@ -56,9 +51,9 @@ public class TestMobCompactionRegularRegionBatchMode extends TestMobCompactionWi
super(useFileBasedSFT);
}
- @Before
- public void setUp() throws Exception {
- super.setUp();
+ @BeforeEach
+ public void setUp(TestInfo testInfo) throws Exception {
+ super.setUp(testInfo);
compactionChore = new MobFileCompactionChore(conf, batchSize);
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionWithDefaults.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionWithDefaults.java
index b7283aa5919..70959ef3065 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionWithDefaults.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionWithDefaults.java
@@ -17,21 +17,21 @@
*/
package org.apache.hadoop.hbase.mob;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
import java.io.IOException;
import java.util.Arrays;
-import java.util.Collection;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.TableName;
@@ -49,15 +49,12 @@ import org.apache.hadoop.hbase.regionserver.storefiletracker.StoreFileTrackerFac
import org.apache.hadoop.hbase.testclassification.LargeTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.RegionSplitter;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.TestInfo;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.params.provider.Arguments;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -71,13 +68,10 @@ import org.slf4j.LoggerFactory;
* Runs Mob cleaner chore 11 Verifies that number of MOB files in a mob directory is 20. 12 Runs
* scanner and checks all 3 * 1000 rows.
*/
-@RunWith(Parameterized.class)
-@Category(LargeTests.class)
+@Tag(LargeTests.TAG)
+@HBaseParameterizedTestTemplate(name = "{index}: useFileBasedSFT={0}")
public class TestMobCompactionWithDefaults {
private static final Logger LOG = LoggerFactory.getLogger(TestMobCompactionWithDefaults.class);
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestMobCompactionWithDefaults.class);
protected static HBaseTestingUtility HTU;
protected static Configuration conf;
@@ -90,8 +84,7 @@ public class TestMobCompactionWithDefaults {
protected final static byte[] mobVal = Bytes
.toBytes("01234567890123456789012345678901234567890123456789012345678901234567890123456789");
- @Rule
- public TestName test = new TestName();
+ private String testMethodName;
protected TableDescriptorBuilder.ModifyableTableDescriptor tableDescriptor;
protected ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor familyDescriptor;
protected Admin admin;
@@ -105,10 +98,8 @@ public class TestMobCompactionWithDefaults {
this.useFileBasedSFT = useFileBasedSFT;
}
- @Parameterized.Parameters
- public static Collection<Boolean> data() {
- Boolean[] data = { false, true };
- return Arrays.asList(data);
+ public static Stream<Arguments> parameters() {
+ return Stream.of(false, true).map(Arguments::of);
}
protected void htuStart() throws Exception {
@@ -135,10 +126,13 @@ public class TestMobCompactionWithDefaults {
protected void additonalConfigSetup() {
}
- @Before
- public void setUp() throws Exception {
+ @BeforeEach
+ public void setUp(TestInfo testInfo) throws Exception {
+ testMethodName = testInfo.getTestMethod().get().getName()
+ + testInfo.getDisplayName().replaceAll("[:= ]", "_").replaceAll("_+", "_").trim();
htuStart();
- tableDescriptor = HTU.createModifyableTableDescriptor(TestMobUtils.getTableName(test));
+ tableDescriptor =
+ HTU.createModifyableTableDescriptor(TestMobUtils.getTableName(testMethodName));
admin = HTU.getAdmin();
familyDescriptor = new ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor(fam);
familyDescriptor.setMobEnabled(true);
@@ -170,56 +164,56 @@ public class TestMobCompactionWithDefaults {
}
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
admin.disableTable(tableDescriptor.getTableName());
admin.deleteTable(tableDescriptor.getTableName());
HTU.shutdownMiniCluster();
}
- @Test
+ @TestTemplate
public void baseTestMobFileCompaction() throws InterruptedException, IOException {
LOG.info("MOB compaction " + description() + " started");
loadAndFlushThreeTimes(rows, table, famStr);
mobCompact(tableDescriptor, familyDescriptor);
- assertEquals("Should have 4 MOB files per region due to 3xflush + compaction.", numRegions * 4,
- getNumberOfMobFiles(table, famStr));
+ assertEquals(numRegions * 4, getNumberOfMobFiles(table, famStr),
+ "Should have 4 MOB files per region due to 3xflush + compaction.");
cleanupAndVerifyCounts(table, famStr, 3 * rows);
LOG.info("MOB compaction " + description() + " finished OK");
}
- @Test
+ @TestTemplate
public void testMobFileCompactionAfterSnapshotClone() throws InterruptedException, IOException {
- final TableName clone = TableName.valueOf(TestMobUtils.getTableName(test) + "-clone");
+ final TableName clone = TableName.valueOf(TestMobUtils.getTableName(testMethodName) + "-clone");
LOG.info("MOB compaction of cloned snapshot, " + description() + " started");
loadAndFlushThreeTimes(rows, table, famStr);
LOG.debug("Taking snapshot and cloning table {}", table);
- admin.snapshot(TestMobUtils.getTableName(test), table);
- admin.cloneSnapshot(TestMobUtils.getTableName(test), clone);
- assertEquals("Should have 3 hlinks per region in MOB area from snapshot clone", 3 * numRegions,
- getNumberOfMobFiles(clone, famStr));
+ admin.snapshot(TestMobUtils.getTableName(testMethodName), table);
+ admin.cloneSnapshot(TestMobUtils.getTableName(testMethodName), clone);
+ assertEquals(3 * numRegions, getNumberOfMobFiles(clone, famStr),
+ "Should have 3 hlinks per region in MOB area from snapshot clone");
mobCompact(admin.getDescriptor(clone), familyDescriptor);
- assertEquals("Should have 3 hlinks + 1 MOB file per region due to clone + compact",
- 4 * numRegions, getNumberOfMobFiles(clone, famStr));
+ assertEquals(4 * numRegions, getNumberOfMobFiles(clone, famStr),
+ "Should have 3 hlinks + 1 MOB file per region due to clone + compact");
cleanupAndVerifyCounts(clone, famStr, 3 * rows);
LOG.info("MOB compaction of cloned snapshot, " + description() + " finished OK");
}
- @Test
+ @TestTemplate
public void testMobFileCompactionAfterSnapshotCloneAndFlush()
throws InterruptedException, IOException {
- final TableName clone = TableName.valueOf(TestMobUtils.getTableName(test) + "-clone");
+ final TableName clone = TableName.valueOf(TestMobUtils.getTableName(testMethodName) + "-clone");
LOG.info("MOB compaction of cloned snapshot after flush, " + description() + " started");
loadAndFlushThreeTimes(rows, table, famStr);
LOG.debug("Taking snapshot and cloning table {}", table);
- admin.snapshot(TestMobUtils.getTableName(test), table);
- admin.cloneSnapshot(TestMobUtils.getTableName(test), clone);
- assertEquals("Should have 3 hlinks per region in MOB area from snapshot clone", 3 * numRegions,
- getNumberOfMobFiles(clone, famStr));
+ admin.snapshot(TestMobUtils.getTableName(testMethodName), table);
+ admin.cloneSnapshot(TestMobUtils.getTableName(testMethodName), clone);
+ assertEquals(3 * numRegions, getNumberOfMobFiles(clone, famStr),
+ "Should have 3 hlinks per region in MOB area from snapshot clone");
loadAndFlushThreeTimes(rows, clone, famStr);
mobCompact(admin.getDescriptor(clone), familyDescriptor);
- assertEquals("Should have 7 MOB file per region due to clone + 3xflush + compact",
- 7 * numRegions, getNumberOfMobFiles(clone, famStr));
+ assertEquals(7 * numRegions, getNumberOfMobFiles(clone, famStr),
+ "Should have 7 MOB file per region due to clone + 3xflush + compact");
cleanupAndVerifyCounts(clone, famStr, 6 * rows);
LOG.info("MOB compaction of cloned snapshot w flush, " + description() + " finished OK");
}
@@ -231,8 +225,8 @@ public class TestMobCompactionWithDefaults {
loadData(table, rows);
loadData(table, rows);
loadData(table, rows);
- assertEquals("Should have 3 more mob files per region from flushing.", start + numRegions * 3,
- getNumberOfMobFiles(table, family));
+ assertEquals(start + numRegions * 3, getNumberOfMobFiles(table, family),
+ "Should have 3 more mob files per region from flushing.");
}
protected String description() {
@@ -298,12 +292,12 @@ public class TestMobCompactionWithDefaults {
HTU.getMiniHBaseCluster().getRegionServer(sn).getRSMobFileCleanerChore().chore();
}
- assertEquals("After cleaning, we should have 1 MOB file per region based on size.", numRegions,
- getNumberOfMobFiles(table, family));
+ assertEquals(numRegions, getNumberOfMobFiles(table, family),
+ "After cleaning, we should have 1 MOB file per region based on size.");
LOG.debug("checking count of rows");
long scanned = scanTable(table);
- assertEquals("Got the wrong number of rows in table " + table + " cf " + family, rows, scanned);
+ assertEquals(rows, scanned, "Got the wrong number of rows in table " + table + " cf " + family);
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionWithException.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionWithException.java
index 7aaedf170ac..1dae5a7c893 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionWithException.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobCompactionWithException.java
@@ -19,9 +19,9 @@ package org.apache.hadoop.hbase.mob;
import static org.apache.hadoop.hbase.HBaseTestingUtility.START_KEY;
import static org.apache.hadoop.hbase.HBaseTestingUtility.fam1;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
import java.io.IOException;
import java.util.List;
@@ -31,7 +31,6 @@ import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;
@@ -60,27 +59,21 @@ import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;
import org.apache.hadoop.hbase.security.User;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.After;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category(MediumTests.class)
+@Tag(MediumTests.TAG)
public class TestMobCompactionWithException {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestMobCompactionWithException.class);
-
- @Rule
- public TestName name = new TestName();
static final Logger LOG = LoggerFactory.getLogger(TestMobCompactionWithException.class.getName());
private final static HBaseTestingUtility HTU = new HBaseTestingUtility();
private static Configuration conf = null;
+ private String testMethodName;
private HRegion region = null;
private TableDescriptor tableDescriptor;
@@ -93,7 +86,7 @@ public class TestMobCompactionWithException {
private static int rowCount = 100;
private Table table;
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
conf = HTU.getConfiguration();
conf.set(MobConstants.MOB_COMPACTION_TYPE_KEY, MobConstants.OPTIMIZED_MOB_COMPACTION_TYPE);
@@ -101,7 +94,12 @@ public class TestMobCompactionWithException {
}
- @After
+ @BeforeEach
+ public void setUp(TestInfo testInfo) {
+ testMethodName = testInfo.getTestMethod().get().getName();
+ }
+
+ @AfterEach
public void tearDown() throws Exception {
region.close();
this.table.close();
@@ -113,9 +111,9 @@ public class TestMobCompactionWithException {
this.columnFamilyDescriptor =
ColumnFamilyDescriptorBuilder.newBuilder(COLUMN_FAMILY).setMobEnabled(true)
.setMobThreshold(mobThreshold).setMaxVersions(1).setBlocksize(500).build();
- this.tableDescriptor =
- TableDescriptorBuilder.newBuilder(TableName.valueOf(TestMobUtils.getTableName(name)))
- .setColumnFamily(columnFamilyDescriptor).build();
+ this.tableDescriptor = TableDescriptorBuilder
+ .newBuilder(TableName.valueOf(TestMobUtils.getTableName(testMethodName)))
+ .setColumnFamily(columnFamilyDescriptor).build();
RegionInfo regionInfo = RegionInfoBuilder.newBuilder(tableDescriptor.getTableName()).build();
region = HBaseTestingUtility.createRegionAndWAL(regionInfo, HTU.getDataTestDir(), conf,
tableDescriptor, new MobFileCache(conf));
@@ -168,8 +166,8 @@ public class TestMobCompactionWithException {
// When compaction is failed,the count of StoreFile and MobStoreFile should be the same as
// before compaction.
- assertEquals("After compaction: store files", storeFileCountBeforeCompact, countStoreFiles());
- assertEquals("After compaction: mob file count", mobFileCountBeforeCompact, countMobFiles());
+ assertEquals(storeFileCountBeforeCompact, countStoreFiles(), "After compaction: store files");
+ assertEquals(mobFileCountBeforeCompact, countMobFiles(), "After compaction: mob file count");
}
private int countStoreFiles() throws IOException {
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobDataBlockEncoding.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobDataBlockEncoding.java
index d2e761e4fd5..9b48f6eac92 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobDataBlockEncoding.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobDataBlockEncoding.java
@@ -17,7 +17,6 @@
*/
package org.apache.hadoop.hbase.mob;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
@@ -31,19 +30,14 @@ import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
-@Category(MediumTests.class)
+@Tag(MediumTests.TAG)
public class TestMobDataBlockEncoding {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestMobDataBlockEncoding.class);
-
private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
private final static byte[] row1 = Bytes.toBytes("row1");
private final static byte[] family = Bytes.toBytes("family");
@@ -56,12 +50,12 @@ public class TestMobDataBlockEncoding {
private static HTableDescriptor desc;
private static long defaultThreshold = 10;
- @BeforeClass
+ @BeforeAll
public static void setUpBeforeClass() throws Exception {
TEST_UTIL.startMiniCluster(1);
}
- @AfterClass
+ @AfterAll
public static void tearDownAfterClass() throws Exception {
TEST_UTIL.shutdownMiniCluster();
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFile.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFile.java
index ac7645bf1d9..97e36c0ed8d 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFile.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFile.java
@@ -17,15 +17,14 @@
*/
package org.apache.hadoop.hbase.mob;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.KeyValue.Type;
@@ -39,33 +38,25 @@ import org.apache.hadoop.hbase.regionserver.StoreFileScanner;
import org.apache.hadoop.hbase.regionserver.StoreFileWriter;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
public class TestMobFile {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestMobFile.class);
-
private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
private Configuration conf = TEST_UTIL.getConfiguration();
private CacheConfig cacheConf = new CacheConfig(conf);
- @Rule
- public TestName testName = new TestName();
@Test
- public void testReadKeyValue() throws Exception {
+ public void testReadKeyValue(TestInfo testInfo) throws Exception {
Path testDir = TEST_UTIL.getDataTestDir();
FileSystem fs = testDir.getFileSystem(conf);
HFileContext meta = new HFileContextBuilder().withBlockSize(8 * 1024).build();
StoreFileWriter writer = new StoreFileWriter.Builder(conf, cacheConf, fs).withOutputDir(testDir)
.withFileContext(meta).build();
- String caseName = testName.getMethodName();
+ String caseName = testInfo.getTestMethod().get().getName();
MobTestUtil.writeStoreFile(writer, caseName);
StoreFileInfo storeFileInfo =
@@ -110,13 +101,13 @@ public class TestMobFile {
}
@Test
- public void testGetScanner() throws Exception {
+ public void testGetScanner(TestInfo testInfo) throws Exception {
Path testDir = TEST_UTIL.getDataTestDir();
FileSystem fs = testDir.getFileSystem(conf);
HFileContext meta = new HFileContextBuilder().withBlockSize(8 * 1024).build();
StoreFileWriter writer = new StoreFileWriter.Builder(conf, cacheConf, fs).withOutputDir(testDir)
.withFileContext(meta).build();
- MobTestUtil.writeStoreFile(writer, testName.getMethodName());
+ MobTestUtil.writeStoreFile(writer, testInfo.getTestMethod().get().getName());
StoreFileInfo storeFileInfo =
StoreFileInfo.createStoreFileInfoForHFile(conf, fs, writer.getPath(), true);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFileCache.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFileCache.java
index 773203300a8..ced6ccdd3bf 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFileCache.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFileCache.java
@@ -17,15 +17,14 @@
*/
package org.apache.hadoop.hbase.mob;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.io.IOException;
import java.util.Date;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HRegionInfo;
@@ -44,21 +43,16 @@ import org.apache.hadoop.hbase.regionserver.StoreFileWriter;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.Pair;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
public class TestMobFileCache {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestMobFileCache.class);
-
static final Logger LOG = LoggerFactory.getLogger(TestMobFileCache.class);
private HBaseTestingUtility UTIL;
private HRegion region;
@@ -86,7 +80,7 @@ public class TestMobFileCache {
private static final byte[] QF2 = Bytes.toBytes("qf2");
private static final byte[] QF3 = Bytes.toBytes("qf3");
- @Before
+ @BeforeEach
public void setUp() throws Exception {
UTIL = HBaseTestingUtility.createLocalHTU();
conf = UTIL.getConfiguration();
@@ -110,7 +104,7 @@ public class TestMobFileCache {
mobFileCache);
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
region.close();
region.getFilesystem().delete(UTIL.getDataTestDir(), true);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFileCleanupUtil.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFileCleanupUtil.java
index 6c9b869a9dd..c91f82a72e8 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFileCleanupUtil.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFileCleanupUtil.java
@@ -17,9 +17,9 @@
*/
package org.apache.hadoop.hbase.mob;
-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.io.IOException;
import java.util.Arrays;
@@ -27,7 +27,6 @@ import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
@@ -43,11 +42,10 @@ import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.master.cleaner.TimeToLiveHFileCleaner;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -58,12 +56,9 @@ import org.slf4j.LoggerFactory;
* cleaner chore 7 Verifies that number of MOB files in a mob directory is 1.
*/
@SuppressWarnings("deprecation")
-@Category(MediumTests.class)
+@Tag(MediumTests.TAG)
public class TestMobFileCleanupUtil {
private static final Logger LOG = LoggerFactory.getLogger(TestMobFileCleanupUtil.class);
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestMobFileCleanupUtil.class);
private HBaseTestingUtility HTU;
@@ -84,7 +79,7 @@ public class TestMobFileCleanupUtil {
public TestMobFileCleanupUtil() {
}
- @Before
+ @BeforeEach
public void setUp() throws Exception {
HTU = new HBaseTestingUtility();
hdt = HTU.createTableDescriptor("testMobCompactTable");
@@ -139,7 +134,7 @@ public class TestMobFileCleanupUtil {
}
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
admin.disableTable(hdt.getTableName());
admin.deleteTable(hdt.getTableName());
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFileLink.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFileLink.java
index 613fa59b635..50ec7d7cc54 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFileLink.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFileLink.java
@@ -17,37 +17,28 @@
*/
package org.apache.hadoop.hbase.mob;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.io.HFileLink;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.CommonFSUtils;
import org.apache.hadoop.hbase.util.HFileArchiveUtil;
-import org.junit.Assert;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
public class TestMobFileLink {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestMobFileLink.class);
-
- @Rule
- public TestName name = new TestName();
-
@Test
- public void testMobFilePath() throws IOException {
- final TableName tableName = TableName.valueOf(name.getMethodName());
+ public void testMobFilePath(TestInfo testInfo) throws IOException {
+ final TableName tableName = TableName.valueOf(testInfo.getTestMethod().get().getName());
Configuration conf = HBaseConfiguration.create();
FileSystem fs = FileSystem.get(conf);
Path rootDir = CommonFSUtils.getRootDir(conf);
@@ -69,8 +60,8 @@ public class TestMobFileLink {
String hfileLinkName = tableName.getNameAsString() + "=" + encodedRegionName + "-" + fileName;
Path hfileLinkPath = new Path(columnFamily, hfileLinkName);
HFileLink hfileLink = HFileLink.buildFromHFileLinkPattern(conf, hfileLinkPath);
- Assert.assertEquals(expectedMobFilePath, hfileLink.getMobPath());
- Assert.assertEquals(expectedOriginPath, hfileLink.getOriginPath());
- Assert.assertEquals(expectedArchivePath, hfileLink.getArchivePath());
+ assertEquals(expectedMobFilePath, hfileLink.getMobPath());
+ assertEquals(expectedOriginPath, hfileLink.getOriginPath());
+ assertEquals(expectedArchivePath, hfileLink.getArchivePath());
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFileName.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFileName.java
index fecb724bced..05474ecee94 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFileName.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobFileName.java
@@ -17,37 +17,31 @@
*/
package org.apache.hadoop.hbase.mob;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotSame;
-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.assertNotSame;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.Date;
import java.util.concurrent.ThreadLocalRandom;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.MD5Hash;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
public class TestMobFileName {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestMobFileName.class);
-
private String uuid;
private Date date;
private String dateStr;
private byte[] startKey;
private String regionName = "region";
- @Before
+ @BeforeEach
public void setUp() {
uuid = HBaseTestingUtility.getRandomUUID().toString().replaceAll("-", "");
date = new Date();
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobStoreCompaction.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobStoreCompaction.java
index bdfb42a1497..ed3232f8993 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobStoreCompaction.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobStoreCompaction.java
@@ -21,25 +21,24 @@ import static org.apache.hadoop.hbase.HBaseTestingUtility.START_KEY;
import static org.apache.hadoop.hbase.HBaseTestingUtility.fam1;
import static org.apache.hadoop.hbase.regionserver.HStoreFile.BULKLOAD_TIME_KEY;
import static org.apache.hadoop.hbase.regionserver.HStoreFile.MOB_CELLS_COUNT;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.UUID;
+import java.util.stream.Stream;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseParameterizedTestTemplate;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HConstants;
@@ -79,33 +78,26 @@ import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.CommonFSUtils;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
import org.apache.hadoop.hbase.util.Pair;
-import org.junit.After;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.TestInfo;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.params.provider.Arguments;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Test mob store compaction
*/
-@RunWith(Parameterized.class)
-@Category(MediumTests.class)
+@Tag(MediumTests.TAG)
+@HBaseParameterizedTestTemplate(name = "{index}: useFileBasedSFT={0}")
public class TestMobStoreCompaction {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestMobStoreCompaction.class);
-
- @Rule
- public TestName name = new TestName();
static final Logger LOG = LoggerFactory.getLogger(TestMobStoreCompaction.class.getName());
private final static HBaseTestingUtility UTIL = new HBaseTestingUtility();
private Configuration conf = null;
+ private String testMethodName;
private HRegion region = null;
private HTableDescriptor htd = null;
@@ -124,10 +116,14 @@ public class TestMobStoreCompaction {
this.useFileBasedSFT = useFileBasedSFT;
}
- @Parameterized.Parameters
- public static Collection<Boolean> data() {
- Boolean[] data = { false, true };
- return Arrays.asList(data);
+ public static Stream<Arguments> parameters() {
+ return Stream.of(false, true).map(Arguments::of);
+ }
+
+ @BeforeEach
+ public void setUp(TestInfo testInfo) {
+ testMethodName = testInfo.getTestMethod().get().getName()
+ + testInfo.getDisplayName().replaceAll("[:= ]", "_").replaceAll("_+", "_").trim();
}
private void init(Configuration conf, long mobThreshold) throws Exception {
@@ -141,7 +137,7 @@ public class TestMobStoreCompaction {
HBaseTestingUtility UTIL = new HBaseTestingUtility(conf);
compactionThreshold = conf.getInt("hbase.hstore.compactionThreshold", 3);
- htd = UTIL.createTableDescriptor(TestMobUtils.getTableName(name));
+ htd = UTIL.createTableDescriptor(TestMobUtils.getTableName(testMethodName));
hcd = new HColumnDescriptor(COLUMN_FAMILY);
hcd.setMobEnabled(true);
hcd.setMobThreshold(mobThreshold);
@@ -154,7 +150,7 @@ public class TestMobStoreCompaction {
fs = FileSystem.get(conf);
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
region.close();
fs.delete(UTIL.getDataTestDir(), true);
@@ -163,7 +159,7 @@ public class TestMobStoreCompaction {
/**
* During compaction, cells smaller than the threshold won't be affected.
*/
- @Test
+ @TestTemplate
public void testSmallerValue() throws Exception {
init(UTIL.getConfiguration(), 500);
byte[] dummyData = makeDummyData(300); // smaller than mob threshold
@@ -174,24 +170,24 @@ public class TestMobStoreCompaction {
loader.put(p);
region.flush(true);
}
- assertEquals("Before compaction: store files", compactionThreshold, countStoreFiles());
- assertEquals("Before compaction: mob file count", 0, countMobFiles());
- assertEquals("Before compaction: rows", compactionThreshold, UTIL.countRows(region));
- assertEquals("Before compaction: mob rows", 0, countMobRows());
+ assertEquals(compactionThreshold, countStoreFiles(), "Before compaction: store files");
+ assertEquals(0, countMobFiles(), "Before compaction: mob file count");
+ assertEquals(compactionThreshold, UTIL.countRows(region), "Before compaction: rows");
+ assertEquals(0, countMobRows(), "Before compaction: mob rows");
region.compactStores();
- assertEquals("After compaction: store files", 1, countStoreFiles());
- assertEquals("After compaction: mob file count", 0, countMobFiles());
- assertEquals("After compaction: referenced mob file count", 0, countReferencedMobFiles());
- assertEquals("After compaction: rows", compactionThreshold, UTIL.countRows(region));
- assertEquals("After compaction: mob rows", 0, countMobRows());
+ assertEquals(1, countStoreFiles(), "After compaction: store files");
+ assertEquals(0, countMobFiles(), "After compaction: mob file count");
+ assertEquals(0, countReferencedMobFiles(), "After compaction: referenced mob file count");
+ assertEquals(compactionThreshold, UTIL.countRows(region), "After compaction: rows");
+ assertEquals(0, countMobRows(), "After compaction: mob rows");
}
/**
* During compaction, the mob threshold size is changed.
*/
- @Test
+ @TestTemplate
public void testLargerValue() throws Exception {
init(UTIL.getConfiguration(), 200);
byte[] dummyData = makeDummyData(300); // larger than mob threshold
@@ -201,12 +197,12 @@ public class TestMobStoreCompaction {
loader.put(p);
region.flush(true);
}
- assertEquals("Before compaction: store files", compactionThreshold, countStoreFiles());
- assertEquals("Before compaction: mob file count", compactionThreshold, countMobFiles());
- assertEquals("Before compaction: rows", compactionThreshold, UTIL.countRows(region));
- assertEquals("Before compaction: mob rows", compactionThreshold, countMobRows());
- assertEquals("Before compaction: number of mob cells", compactionThreshold,
- countMobCellsInMetadata());
+ assertEquals(compactionThreshold, countStoreFiles(), "Before compaction: store files");
+ assertEquals(compactionThreshold, countMobFiles(), "Before compaction: mob file count");
+ assertEquals(compactionThreshold, UTIL.countRows(region), "Before compaction: rows");
+ assertEquals(compactionThreshold, countMobRows(), "Before compaction: mob rows");
+ assertEquals(compactionThreshold, countMobCellsInMetadata(),
+ "Before compaction: number of mob cells");
// Change the threshold larger than the data size
setMobThreshold(region, COLUMN_FAMILY, 500);
region.initialize();
@@ -223,11 +219,11 @@ public class TestMobStoreCompaction {
region.compact(context.get(), store, NoLimitThroughputController.INSTANCE, User.getCurrent());
}
- assertEquals("After compaction: store files", 1, countStoreFiles());
- assertEquals("After compaction: mob file count", compactionThreshold, countMobFiles());
- assertEquals("After compaction: referenced mob file count", 0, countReferencedMobFiles());
- assertEquals("After compaction: rows", compactionThreshold, UTIL.countRows(region));
- assertEquals("After compaction: mob rows", 0, countMobRows());
+ assertEquals(1, countStoreFiles(), "After compaction: store files");
+ assertEquals(compactionThreshold, countMobFiles(), "After compaction: mob file count");
+ assertEquals(0, countReferencedMobFiles(), "After compaction: referenced mob file count");
+ assertEquals(compactionThreshold, UTIL.countRows(region), "After compaction: rows");
+ assertEquals(0, countMobRows(), "After compaction: mob rows");
}
private static HRegion setMobThreshold(HRegion region, byte[] cfName, long modThreshold) {
@@ -244,7 +240,7 @@ public class TestMobStoreCompaction {
* This test will first generate store files, then bulk load them and trigger the compaction. When
* compaction, the cell value will be larger than the threshold.
*/
- @Test
+ @TestTemplate
public void testMobCompactionWithBulkload() throws Exception {
// The following will produce store files of 600.
init(UTIL.getConfiguration(), 300);
@@ -262,25 +258,25 @@ public class TestMobStoreCompaction {
// The following will bulk load the above generated store files and compact, with 600(fileSize)
// > 300(threshold)
Map<byte[], List<Path>> map = region.bulkLoadHFiles(hfiles, true, null);
- assertTrue("Bulkload result:", !map.isEmpty());
- assertEquals("Before compaction: store files", compactionThreshold, countStoreFiles());
- assertEquals("Before compaction: mob file count", 0, countMobFiles());
- assertEquals("Before compaction: rows", compactionThreshold, UTIL.countRows(region));
- assertEquals("Before compaction: mob rows", 0, countMobRows());
- assertEquals("Before compaction: referenced mob file count", 0, countReferencedMobFiles());
+ assertTrue(!map.isEmpty(), "Bulkload result:");
+ assertEquals(compactionThreshold, countStoreFiles(), "Before compaction: store files");
+ assertEquals(0, countMobFiles(), "Before compaction: mob file count");
+ assertEquals(compactionThreshold, UTIL.countRows(region), "Before compaction: rows");
+ assertEquals(0, countMobRows(), "Before compaction: mob rows");
+ assertEquals(0, countReferencedMobFiles(), "Before compaction: referenced mob file count");
region.compactStores();
- assertEquals("After compaction: store files", 1, countStoreFiles());
- assertEquals("After compaction: mob file count:", 1, countMobFiles());
- assertEquals("After compaction: rows", compactionThreshold, UTIL.countRows(region));
- assertEquals("After compaction: mob rows", compactionThreshold, countMobRows());
- assertEquals("After compaction: referenced mob file count", 1, countReferencedMobFiles());
- assertEquals("After compaction: number of mob cells", compactionThreshold,
- countMobCellsInMetadata());
+ assertEquals(1, countStoreFiles(), "After compaction: store files");
+ assertEquals(1, countMobFiles(), "After compaction: mob file count:");
+ assertEquals(compactionThreshold, UTIL.countRows(region), "After compaction: rows");
+ assertEquals(compactionThreshold, countMobRows(), "After compaction: mob rows");
+ assertEquals(1, countReferencedMobFiles(), "After compaction: referenced mob file count");
+ assertEquals(compactionThreshold, countMobCellsInMetadata(),
+ "After compaction: number of mob cells");
}
- @Test
+ @TestTemplate
public void testMajorCompactionAfterDelete() throws Exception {
init(UTIL.getConfiguration(), 100);
byte[] dummyData = makeDummyData(200); // larger than mob threshold
@@ -293,22 +289,22 @@ public class TestMobStoreCompaction {
loader.put(p);
region.flush(true);
}
- assertEquals("Before compaction: store files", numHfiles, countStoreFiles());
- assertEquals("Before compaction: mob file count", numHfiles, countMobFiles());
- assertEquals("Before compaction: rows", numHfiles, UTIL.countRows(region));
- assertEquals("Before compaction: mob rows", numHfiles, countMobRows());
- assertEquals("Before compaction: number of mob cells", numHfiles, countMobCellsInMetadata());
+ assertEquals(numHfiles, countStoreFiles(), "Before compaction: store files");
+ assertEquals(numHfiles, countMobFiles(), "Before compaction: mob file count");
+ assertEquals(numHfiles, UTIL.countRows(region), "Before compaction: rows");
+ assertEquals(numHfiles, countMobRows(), "Before compaction: mob rows");
+ assertEquals(numHfiles, countMobCellsInMetadata(), "Before compaction: number of mob cells");
// now let's delete some cells that contain mobs
Delete delete = new Delete(deleteRow);
delete.addFamily(COLUMN_FAMILY);
region.delete(delete);
region.flush(true);
- assertEquals("Before compaction: store files", numHfiles + 1, countStoreFiles());
- assertEquals("Before compaction: mob files", numHfiles, countMobFiles());
+ assertEquals(numHfiles + 1, countStoreFiles(), "Before compaction: store files");
+ assertEquals(numHfiles, countMobFiles(), "Before compaction: mob files");
// region.compactStores();
region.compact(true);
- assertEquals("After compaction: store files", 1, countStoreFiles());
+ assertEquals(1, countStoreFiles(), "After compaction: store files");
}
private int countStoreFiles() throws IOException {
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobStoreScanner.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobStoreScanner.java
index a5f4191df8d..311d5edea29 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobStoreScanner.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobStoreScanner.java
@@ -17,6 +17,12 @@
*/
package org.apache.hadoop.hbase.mob;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
import java.io.IOException;
import java.util.List;
import org.apache.hadoop.conf.Configuration;
@@ -25,7 +31,6 @@ import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
@@ -48,22 +53,16 @@ import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.CommonFSUtils;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
import org.apache.hadoop.hbase.util.HFileArchiveUtil;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
-
-@Category(MediumTests.class)
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
+
+@Tag(MediumTests.TAG)
public class TestMobStoreScanner {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestMobStoreScanner.class);
-
private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
private final static byte[] row1 = Bytes.toBytes("row1");
private final static byte[] row2 = Bytes.toBytes("row2");
@@ -78,11 +77,9 @@ public class TestMobStoreScanner {
private static long defaultThreshold = 10;
private FileSystem fs;
private Configuration conf;
+ private String testMethodName;
- @Rule
- public TestName name = new TestName();
-
- @BeforeClass
+ @BeforeAll
public static void setUpBeforeClass() throws Exception {
TEST_UTIL.getConfiguration().setInt(ConnectionConfiguration.MAX_KEYVALUE_SIZE_KEY,
100 * 1024 * 1024);
@@ -90,11 +87,16 @@ public class TestMobStoreScanner {
TEST_UTIL.startMiniCluster(1);
}
- @AfterClass
+ @AfterAll
public static void tearDownAfterClass() throws Exception {
TEST_UTIL.shutdownMiniCluster();
}
+ @BeforeEach
+ public void setUpTest(TestInfo testInfo) {
+ testMethodName = testInfo.getTestMethod().get().getName();
+ }
+
public void setUp(long threshold, TableName tn) throws Exception {
conf = TEST_UTIL.getConfiguration();
fs = FileSystem.get(conf);
@@ -153,7 +155,7 @@ public class TestMobStoreScanner {
@Test
public void testGetMassive() throws Exception {
- setUp(defaultThreshold, TableName.valueOf(name.getMethodName()));
+ setUp(defaultThreshold, TableName.valueOf(testMethodName));
// Put some data 5 10, 15, 20 mb ok (this would be right below protobuf
// default max size of 64MB.
@@ -180,7 +182,7 @@ public class TestMobStoreScanner {
@Test
public void testReadPt() throws Exception {
- final TableName tableName = TableName.valueOf(name.getMethodName());
+ final TableName tableName = TableName.valueOf(testMethodName);
setUp(0L, tableName);
long ts = EnvironmentEdgeManager.currentTime();
byte[] value1 = Bytes.toBytes("value1");
@@ -206,29 +208,29 @@ public class TestMobStoreScanner {
table.put(put4);
Cell cell = result.getColumnLatestCell(family, qf1);
- Assert.assertArrayEquals(value1, CellUtil.cloneValue(cell));
+ assertArrayEquals(value1, CellUtil.cloneValue(cell));
admin.flush(tableName);
result = rs.next();
cell = result.getColumnLatestCell(family, qf1);
- Assert.assertArrayEquals(value2, CellUtil.cloneValue(cell));
+ assertArrayEquals(value2, CellUtil.cloneValue(cell));
}
@Test
public void testReadFromCorruptMobFilesWithReadEmptyValueOnMobCellMiss() throws Exception {
- final TableName tableName = TableName.valueOf(name.getMethodName());
+ final TableName tableName = TableName.valueOf(testMethodName);
setUp(0, tableName);
createRecordAndCorruptMobFile(tableName, row1, family, qf1, Bytes.toBytes("value1"));
Get get = new Get(row1);
get.setAttribute(MobConstants.EMPTY_VALUE_ON_MOBCELL_MISS, Bytes.toBytes(true));
Result result = table.get(get);
Cell cell = result.getColumnLatestCell(family, qf1);
- Assert.assertEquals(0, cell.getValueLength());
+ assertEquals(0, cell.getValueLength());
}
@Test
public void testReadFromCorruptMobFiles() throws Exception {
- final TableName tableName = TableName.valueOf(name.getMethodName());
+ final TableName tableName = TableName.valueOf(testMethodName);
setUp(0, tableName);
createRecordAndCorruptMobFile(tableName, row1, family, qf1, Bytes.toBytes("value1"));
Get get = new Get(row1);
@@ -238,8 +240,8 @@ public class TestMobStoreScanner {
} catch (IOException e) {
ioe = e;
}
- Assert.assertNotNull(ioe);
- Assert.assertEquals(CorruptHFileException.class.getName(), ioe.getClass().getName());
+ assertNotNull(ioe);
+ assertEquals(CorruptHFileException.class.getName(), ioe.getClass().getName());
}
private void createRecordAndCorruptMobFile(TableName tn, byte[] row, byte[] family, byte[] qf,
@@ -249,7 +251,7 @@ public class TestMobStoreScanner {
table.put(put1);
admin.flush(tn);
Path mobFile = getFlushedMobFile(conf, fs, tn, Bytes.toString(family));
- Assert.assertNotNull(mobFile);
+ assertNotNull(mobFile);
// create new corrupt mob file.
Path corruptFile = new Path(mobFile.getParent(), "dummy");
TestHFile.truncateFile(fs, mobFile, corruptFile);
@@ -308,7 +310,6 @@ public class TestMobStoreScanner {
long ts2 = ts1 + 1;
long ts3 = ts1 + 2;
byte[] value = generateMobValue((int) defaultThreshold + 1);
- ;
Put put1 = new Put(row1);
put1.addColumn(family, qf1, ts3, value);
@@ -332,7 +333,7 @@ public class TestMobStoreScanner {
}
}
results.close();
- Assert.assertEquals(3, count);
+ assertEquals(3, count);
}
private void testMobThreshold(boolean reversed) throws Exception {
@@ -378,7 +379,7 @@ public class TestMobStoreScanner {
count++;
}
}
- Assert.assertEquals(3, count);
+ assertEquals(3, count);
assertNotMobReference(cellLess, row1, family, valueLess);
assertNotMobReference(cellEqual, row1, family, valueEqual);
assertIsMobReference(cellGreater, row1, family, valueGreater, tn);
@@ -392,7 +393,6 @@ public class TestMobStoreScanner {
long ts2 = ts1 + 1;
long ts3 = ts1 + 2;
byte[] value = generateMobValue((int) defaultThreshold + 1);
- ;
// Put some data
Put put1 = new Put(row1);
put1.addColumn(family, qf1, ts3, value);
@@ -429,9 +429,9 @@ public class TestMobStoreScanner {
// Verify the moving success
FileStatus[] files1 = fs.listStatus(mobFamilyPath);
- Assert.assertEquals(0, files1.length);
+ assertEquals(0, files1.length);
FileStatus[] files2 = fs.listStatus(storeArchiveDir);
- Assert.assertEquals(fileCount, files2.length);
+ assertEquals(fileCount, files2.length);
// Scan from archive
Scan scan = new Scan();
@@ -444,9 +444,9 @@ public class TestMobStoreScanner {
*/
private static void assertNotMobReference(Cell cell, byte[] row, byte[] family, byte[] value)
throws IOException {
- Assert.assertArrayEquals(row, CellUtil.cloneRow(cell));
- Assert.assertArrayEquals(family, CellUtil.cloneFamily(cell));
- Assert.assertArrayEquals(value, CellUtil.cloneValue(cell));
+ assertArrayEquals(row, CellUtil.cloneRow(cell));
+ assertArrayEquals(family, CellUtil.cloneFamily(cell));
+ assertArrayEquals(value, CellUtil.cloneValue(cell));
}
/**
@@ -454,17 +454,17 @@ public class TestMobStoreScanner {
*/
private static void assertIsMobReference(Cell cell, byte[] row, byte[] family, byte[] value,
TableName tn) throws IOException {
- Assert.assertArrayEquals(row, CellUtil.cloneRow(cell));
- Assert.assertArrayEquals(family, CellUtil.cloneFamily(cell));
- Assert.assertFalse(Bytes.equals(value, CellUtil.cloneValue(cell)));
+ assertArrayEquals(row, CellUtil.cloneRow(cell));
+ assertArrayEquals(family, CellUtil.cloneFamily(cell));
+ assertFalse(Bytes.equals(value, CellUtil.cloneValue(cell)));
byte[] referenceValue = CellUtil.cloneValue(cell);
String fileName = MobUtils.getMobFileName(cell);
int valLen = Bytes.toInt(referenceValue, 0, Bytes.SIZEOF_INT);
- Assert.assertEquals(value.length, valLen);
+ assertEquals(value.length, valLen);
Path mobFamilyPath =
MobUtils.getMobFamilyPath(TEST_UTIL.getConfiguration(), tn, hcd.getNameAsString());
Path targetPath = new Path(mobFamilyPath, fileName);
FileSystem fs = FileSystem.get(TEST_UTIL.getConfiguration());
- Assert.assertTrue(fs.exists(targetPath));
+ assertTrue(fs.exists(targetPath));
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobUtils.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobUtils.java
index 32170e98b35..709d8b7bbef 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobUtils.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobUtils.java
@@ -17,27 +17,20 @@
*/
package org.apache.hadoop.hbase.mob;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.apache.hbase.thirdparty.com.google.common.collect.ImmutableSet;
import org.apache.hbase.thirdparty.com.google.common.collect.ImmutableSetMultimap;
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
public class TestMobUtils {
-
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestMobUtils.class);
public static final TableName TEST_TABLE_1 = TableName.valueOf("testTable1");
public static final TableName TEST_TABLE_2 = TableName.valueOf("testTable2");
public static final TableName TEST_TABLE_3 = TableName.valueOf("testTable3");
@@ -91,7 +84,7 @@ public class TestMobUtils {
assertTrue(testTable3Refs.contains("file3b"));
}
- public static String getTableName(TestName test) {
- return test.getMethodName().replace("[", "-").replace("]", "");
+ public static String getTableName(String testMethodName) {
+ return testMethodName.replace("[", "-").replace("]", "");
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobWithByteBuffAllocator.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobWithByteBuffAllocator.java
index 9d69d0eb90b..c0df659ad5f 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobWithByteBuffAllocator.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestMobWithByteBuffAllocator.java
@@ -17,10 +17,12 @@
*/
package org.apache.hadoop.hbase.mob;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.TableName;
@@ -34,25 +36,19 @@ import org.apache.hadoop.hbase.snapshot.MobSnapshotTestingUtils;
import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Test the MOB feature when enable RPC ByteBuffAllocator (HBASE-22122)
*/
-@Category({ MediumTests.class })
+@Tag(MediumTests.TAG)
public class TestMobWithByteBuffAllocator {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestMobWithByteBuffAllocator.class);
-
private static final String TABLE_NAME = "TestMobWithByteBuffAllocator";
private static final Logger LOG = LoggerFactory.getLogger(TestMobWithByteBuffAllocator.class);
@@ -60,7 +56,7 @@ public class TestMobWithByteBuffAllocator {
private static final Configuration CONF = UTIL.getConfiguration();
private static final byte[] FAMILY = Bytes.toBytes("f");
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
// Must use the ByteBuffAllocator here
CONF.setBoolean(ByteBuffAllocator.ALLOCATOR_POOL_ENABLED_KEY, true);
@@ -73,7 +69,7 @@ public class TestMobWithByteBuffAllocator {
UTIL.startMiniCluster();
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
UTIL.shutdownMiniCluster();
}
@@ -104,12 +100,12 @@ public class TestMobWithByteBuffAllocator {
while (res != null) {
rows++;
for (Cell cell : res.listCells()) {
- Assert.assertTrue(CellUtil.cloneValue(cell).length > 0);
+ assertTrue(CellUtil.cloneValue(cell).length > 0);
}
res = scanner.next();
}
}
}
- Assert.assertEquals(expectedRows, rows);
+ assertEquals(expectedRows, rows);
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestRSMobFileCleanerChore.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestRSMobFileCleanerChore.java
index d9470420e99..10ef902c7bb 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestRSMobFileCleanerChore.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mob/TestRSMobFileCleanerChore.java
@@ -17,9 +17,9 @@
*/
package org.apache.hadoop.hbase.mob;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.Arrays;
@@ -31,7 +31,6 @@ import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.TableName;
@@ -52,11 +51,10 @@ import org.apache.hadoop.hbase.regionserver.HStore;
import org.apache.hadoop.hbase.regionserver.HStoreFile;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -66,12 +64,9 @@ import org.slf4j.LoggerFactory;
* a period of time larger than minimum age to archive 6. Runs Mob cleaner chore 7 Verifies that
* every old MOB file referenced from current RS was archived
*/
-@Category(MediumTests.class)
+@Tag(MediumTests.TAG)
public class TestRSMobFileCleanerChore {
private static final Logger LOG = LoggerFactory.getLogger(TestRSMobFileCleanerChore.class);
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRSMobFileCleanerChore.class);
private HBaseTestingUtility HTU;
@@ -93,7 +88,7 @@ public class TestRSMobFileCleanerChore {
public TestRSMobFileCleanerChore() {
}
- @Before
+ @BeforeEach
public void setUp() throws Exception {
HTU = new HBaseTestingUtility();
conf = HTU.getConfiguration();
@@ -146,7 +141,7 @@ public class TestRSMobFileCleanerChore {
}
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
admin.disableTable(tableDescriptor.getTableName());
admin.deleteTable(tableDescriptor.getTableName());
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java
index 21e8d821d0a..9bef915abea 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java
@@ -17,12 +17,13 @@
*/
package org.apache.hadoop.hbase.namespace;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
import java.io.IOException;
import java.util.Collections;
@@ -37,7 +38,6 @@ import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.Coprocessor;
import org.apache.hadoop.hbase.CoprocessorEnvironment;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HConstants;
@@ -82,28 +82,23 @@ import org.apache.hadoop.hbase.testclassification.LargeTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.CommonFSUtils;
import org.apache.zookeeper.KeeperException;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category(LargeTests.class)
+@Tag(LargeTests.TAG)
public class TestNamespaceAuditor {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestNamespaceAuditor.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestNamespaceAuditor.class);
private static final HBaseTestingUtility UTIL = new HBaseTestingUtility();
private static Admin ADMIN;
private String prefix = "TestNamespaceAuditor";
- @BeforeClass
+ @BeforeAll
public static void before() throws Exception {
Configuration conf = UTIL.getConfiguration();
conf.set(CoprocessorHost.REGION_COPROCESSOR_CONF_KEY, CustomObserver.class.getName());
@@ -119,12 +114,12 @@ public class TestNamespaceAuditor {
ADMIN = UTIL.getAdmin();
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
UTIL.shutdownMiniCluster();
}
- @After
+ @AfterEach
public void cleanup() throws Exception, KeeperException {
for (HTableDescriptor table : ADMIN.listTables()) {
ADMIN.disableTable(table.getTableName());
@@ -135,8 +130,8 @@ public class TestNamespaceAuditor {
ADMIN.deleteNamespace(ns.getName());
}
}
- assertTrue("Quota manager not initialized",
- UTIL.getHBaseCluster().getMaster().getMasterQuotaManager().isQuotaInitialized());
+ assertTrue(UTIL.getHBaseCluster().getMaster().getMasterQuotaManager().isQuotaInitialized(),
+ "Quota manager not initialized");
}
@Test
@@ -146,7 +141,7 @@ public class TestNamespaceAuditor {
NamespaceDescriptor.create(nsp).addConfiguration(TableNamespaceManager.KEY_MAX_REGIONS, "5")
.addConfiguration(TableNamespaceManager.KEY_MAX_TABLES, "2").build();
ADMIN.createNamespace(nspDesc);
- assertNotNull("Namespace descriptor found null.", ADMIN.getNamespaceDescriptor(nsp));
+ assertNotNull(ADMIN.getNamespaceDescriptor(nsp), "Namespace descriptor found null.");
assertEquals(3, ADMIN.listNamespaceDescriptors().length);
HColumnDescriptor fam1 = new HColumnDescriptor("fam1");
@@ -167,8 +162,8 @@ public class TestNamespaceAuditor {
assertTrue(exp instanceof IOException);
constraintViolated = true;
} finally {
- assertTrue("Constraint not violated for table " + tableDescTwo.getTableName(),
- constraintViolated);
+ assertTrue(constraintViolated,
+ "Constraint not violated for table " + tableDescTwo.getTableName());
}
ADMIN.createTable(tableDescTwo, Bytes.toBytes("AAA"), Bytes.toBytes("ZZZ"), 4);
NamespaceTableAndRegionInfo nspState = getQuotaManager().getState(nsp);
@@ -182,8 +177,8 @@ public class TestNamespaceAuditor {
assertTrue(exp instanceof IOException);
constraintViolated = true;
} finally {
- assertTrue("Constraint not violated for table " + tableDescThree.getTableName(),
- constraintViolated);
+ assertTrue(constraintViolated,
+ "Constraint not violated for table " + tableDescThree.getTableName());
}
}
@@ -249,9 +244,9 @@ public class TestNamespaceAuditor {
.addConfiguration(TableNamespaceManager.KEY_MAX_REGIONS, "100")
.addConfiguration(TableNamespaceManager.KEY_MAX_TABLES, "3").build();
ADMIN.createNamespace(nspDesc);
- assertNotNull("Namespace descriptor found null.", ADMIN.getNamespaceDescriptor(namespace));
+ assertNotNull(ADMIN.getNamespaceDescriptor(namespace), "Namespace descriptor found null.");
NamespaceTableAndRegionInfo stateInfo = getNamespaceState(nspDesc.getName());
- assertNotNull("Namespace state found null for " + namespace, stateInfo);
+ assertNotNull(stateInfo, "Namespace state found null for " + namespace);
HColumnDescriptor fam1 = new HColumnDescriptor("fam1");
HTableDescriptor tableDescOne =
new HTableDescriptor(TableName.valueOf(namespace + TableName.NAMESPACE_DELIM + "table1"));
@@ -262,21 +257,21 @@ public class TestNamespaceAuditor {
ADMIN.createTable(tableDescOne);
ADMIN.createTable(tableDescTwo, Bytes.toBytes("AAA"), Bytes.toBytes("ZZZ"), 5);
stateInfo = getNamespaceState(nspDesc.getName());
- assertNotNull("Namespace state found to be null.", stateInfo);
+ assertNotNull(stateInfo, "Namespace state found to be null.");
assertEquals(2, stateInfo.getTables().size());
assertEquals(5, stateInfo.getRegionCountOfTable(tableDescTwo.getTableName()));
assertEquals(6, stateInfo.getRegionCount());
ADMIN.disableTable(tableDescOne.getTableName());
deleteTable(tableDescOne.getTableName());
stateInfo = getNamespaceState(nspDesc.getName());
- assertNotNull("Namespace state found to be null.", stateInfo);
+ assertNotNull(stateInfo, "Namespace state found to be null.");
assertEquals(5, stateInfo.getRegionCount());
assertEquals(1, stateInfo.getTables().size());
ADMIN.disableTable(tableDescTwo.getTableName());
deleteTable(tableDescTwo.getTableName());
ADMIN.deleteNamespace(namespace);
stateInfo = getNamespaceState(namespace);
- assertNull("Namespace state not found to be null.", stateInfo);
+ assertNull(stateInfo, "Namespace state not found to be null.");
}
public static class CPRegionServerObserver
@@ -439,8 +434,8 @@ public class TestNamespaceAuditor {
assertFalse(ADMIN.tableExists(tableOne));
NamespaceTableAndRegionInfo nstate = getNamespaceState(nsp1);
- assertEquals("First table creation failed in namespace so number of tables in namespace "
- + "should be 0.", 0, nstate.getTables().size());
+ assertEquals(0, nstate.getTables().size(),
+ "First table creation failed in namespace so number of tables in namespace should be 0.");
MasterSyncObserver.throwExceptionInPreCreateTableAction = false;
try {
@@ -451,9 +446,8 @@ public class TestNamespaceAuditor {
}
assertTrue(ADMIN.tableExists(tableOne));
nstate = getNamespaceState(nsp1);
- assertEquals(
- "First table was created successfully so table size in namespace should " + "be one now.",
- 1, nstate.getTables().size());
+ assertEquals(1, nstate.getTables().size(),
+ "First table was created successfully so table size in namespace should be one now.");
} finally {
MasterSyncObserver.throwExceptionInPreCreateTableAction = false;
if (ADMIN.tableExists(tableOne)) {
@@ -522,8 +516,8 @@ public class TestNamespaceAuditor {
NamespaceTableAndRegionInfo before = getNamespaceState(nsp1);
killActiveMaster();
NamespaceTableAndRegionInfo after = getNamespaceState(nsp1);
- assertEquals("Expected: " + before.getTables() + " Found: " + after.getTables(),
- before.getTables().size(), after.getTables().size());
+ assertEquals(before.getTables().size(), after.getTables().size(),
+ "Expected: " + before.getTables() + " Found: " + after.getTables());
}
public static void waitForQuotaInitialize(final HBaseTestingUtility util) throws Exception {
@@ -590,13 +584,13 @@ public class TestNamespaceAuditor {
observer.tableDeletionLatch.await();
}
- @Test(expected = QuotaExceededException.class)
+ @Test
public void testExceedTableQuotaInNamespace() throws Exception {
String nsp = prefix + "_testExceedTableQuotaInNamespace";
NamespaceDescriptor nspDesc = NamespaceDescriptor.create(nsp)
.addConfiguration(TableNamespaceManager.KEY_MAX_TABLES, "1").build();
ADMIN.createNamespace(nspDesc);
- assertNotNull("Namespace descriptor found null.", ADMIN.getNamespaceDescriptor(nsp));
+ assertNotNull(ADMIN.getNamespaceDescriptor(nsp), "Namespace descriptor found null.");
assertEquals(3, ADMIN.listNamespaceDescriptors().length);
HColumnDescriptor fam1 = new HColumnDescriptor("fam1");
HTableDescriptor tableDescOne =
@@ -606,16 +600,18 @@ public class TestNamespaceAuditor {
new HTableDescriptor(TableName.valueOf(nsp + TableName.NAMESPACE_DELIM + "table2"));
tableDescTwo.addFamily(fam1);
ADMIN.createTable(tableDescOne);
- ADMIN.createTable(tableDescTwo, Bytes.toBytes("AAA"), Bytes.toBytes("ZZZ"), 4);
+ assertThrows(QuotaExceededException.class, () -> {
+ ADMIN.createTable(tableDescTwo, Bytes.toBytes("AAA"), Bytes.toBytes("ZZZ"), 4);
+ });
}
- @Test(expected = QuotaExceededException.class)
+ @Test
public void testCloneSnapshotQuotaExceed() throws Exception {
String nsp = prefix + "_testTableQuotaExceedWithCloneSnapshot";
NamespaceDescriptor nspDesc = NamespaceDescriptor.create(nsp)
.addConfiguration(TableNamespaceManager.KEY_MAX_TABLES, "1").build();
ADMIN.createNamespace(nspDesc);
- assertNotNull("Namespace descriptor found null.", ADMIN.getNamespaceDescriptor(nsp));
+ assertNotNull(ADMIN.getNamespaceDescriptor(nsp), "Namespace descriptor found null.");
TableName tableName = TableName.valueOf(nsp + TableName.NAMESPACE_DELIM + "table1");
TableName cloneTableName = TableName.valueOf(nsp + TableName.NAMESPACE_DELIM + "table2");
HColumnDescriptor fam1 = new HColumnDescriptor("fam1");
@@ -624,7 +620,7 @@ public class TestNamespaceAuditor {
ADMIN.createTable(tableDescOne);
String snapshot = "snapshot_testTableQuotaExceedWithCloneSnapshot";
ADMIN.snapshot(snapshot, tableName);
- ADMIN.cloneSnapshot(snapshot, cloneTableName);
+ assertThrows(QuotaExceededException.class, () -> ADMIN.cloneSnapshot(snapshot, cloneTableName));
ADMIN.deleteSnapshot(snapshot);
}
@@ -635,7 +631,7 @@ public class TestNamespaceAuditor {
NamespaceDescriptor.create(nsp).addConfiguration(TableNamespaceManager.KEY_MAX_TABLES, "2")
.addConfiguration(TableNamespaceManager.KEY_MAX_REGIONS, "20").build();
ADMIN.createNamespace(nspDesc);
- assertNotNull("Namespace descriptor found null.", ADMIN.getNamespaceDescriptor(nsp));
+ assertNotNull(ADMIN.getNamespaceDescriptor(nsp), "Namespace descriptor found null.");
TableName tableName = TableName.valueOf(nsp + TableName.NAMESPACE_DELIM + "table1");
TableName cloneTableName = TableName.valueOf(nsp + TableName.NAMESPACE_DELIM + "table2");
@@ -652,16 +648,16 @@ public class TestNamespaceAuditor {
try (RegionLocator locator = ADMIN.getConnection().getRegionLocator(tableName)) {
tableLength = locator.getStartKeys().length;
}
- assertEquals(tableName.getNameAsString() + " should have four regions.", 4, tableLength);
+ assertEquals(4, tableLength, tableName.getNameAsString() + " should have four regions.");
try (RegionLocator locator = ADMIN.getConnection().getRegionLocator(cloneTableName)) {
tableLength = locator.getStartKeys().length;
}
- assertEquals(cloneTableName.getNameAsString() + " should have four regions.", 4, tableLength);
+ assertEquals(4, tableLength, cloneTableName.getNameAsString() + " should have four regions.");
NamespaceTableAndRegionInfo nstate = getNamespaceState(nsp);
- assertEquals("Total tables count should be 2.", 2, nstate.getTables().size());
- assertEquals("Total regions count should be.", 8, nstate.getRegionCount());
+ assertEquals(2, nstate.getTables().size(), "Total tables count should be 2.");
+ assertEquals(8, nstate.getRegionCount(), "Total regions count should be.");
ADMIN.deleteSnapshot(snapshot);
}
@@ -672,7 +668,7 @@ public class TestNamespaceAuditor {
NamespaceDescriptor nspDesc = NamespaceDescriptor.create(nsp)
.addConfiguration(TableNamespaceManager.KEY_MAX_REGIONS, "10").build();
ADMIN.createNamespace(nspDesc);
- assertNotNull("Namespace descriptor found null.", ADMIN.getNamespaceDescriptor(nsp));
+ assertNotNull(ADMIN.getNamespaceDescriptor(nsp), "Namespace descriptor found null.");
TableName tableName1 = TableName.valueOf(nsp + TableName.NAMESPACE_DELIM + "table1");
HTableDescriptor tableDescOne = new HTableDescriptor(tableName1);
HColumnDescriptor fam1 = new HColumnDescriptor("fam1");
@@ -680,7 +676,7 @@ public class TestNamespaceAuditor {
ADMIN.createTable(tableDescOne, Bytes.toBytes("AAA"), Bytes.toBytes("ZZZ"), 4);
NamespaceTableAndRegionInfo nstate = getNamespaceState(nsp);
- assertEquals("Intial region count should be 4.", 4, nstate.getRegionCount());
+ assertEquals(4, nstate.getRegionCount(), "Intial region count should be 4.");
String snapshot = "snapshot_testRestoreSnapshot";
ADMIN.snapshot(snapshot, tableName1);
@@ -690,12 +686,12 @@ public class TestNamespaceAuditor {
ADMIN.split(tableName1, Bytes.toBytes("JJJ"));
Thread.sleep(2000);
- assertEquals("Total regions count should be 5.", 5, nstate.getRegionCount());
+ assertEquals(5, nstate.getRegionCount(), "Total regions count should be 5.");
ADMIN.disableTable(tableName1);
ADMIN.restoreSnapshot(snapshot);
- assertEquals("Total regions count should be 4 after restore.", 4, nstate.getRegionCount());
+ assertEquals(4, nstate.getRegionCount(), "Total regions count should be 4 after restore.");
ADMIN.enableTable(tableName1);
ADMIN.deleteSnapshot(snapshot);
@@ -708,7 +704,7 @@ public class TestNamespaceAuditor {
.addConfiguration(TableNamespaceManager.KEY_MAX_REGIONS, "10").build();
ADMIN.createNamespace(nspDesc);
NamespaceDescriptor ndesc = ADMIN.getNamespaceDescriptor(nsp);
- assertNotNull("Namespace descriptor found null.", ndesc);
+ assertNotNull(ndesc, "Namespace descriptor found null.");
TableName tableName1 = TableName.valueOf(nsp + TableName.NAMESPACE_DELIM + "table1");
HTableDescriptor tableDescOne = new HTableDescriptor(tableName1);
HColumnDescriptor fam1 = new HColumnDescriptor("fam1");
@@ -717,7 +713,7 @@ public class TestNamespaceAuditor {
ADMIN.createTable(tableDescOne, Bytes.toBytes("AAA"), Bytes.toBytes("ZZZ"), 4);
NamespaceTableAndRegionInfo nstate = getNamespaceState(nsp);
- assertEquals("Intial region count should be 4.", 4, nstate.getRegionCount());
+ assertEquals(4, nstate.getRegionCount(), "Intial region count should be 4.");
String snapshot = "snapshot_testRestoreSnapshotQuotaExceed";
// snapshot has 4 regions