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/05/21 17:13:09 UTC
(hbase) branch branch-2 updated: HBASE-30145 Upgrade hbase-server to use junit5 Part17 (#8261)
This is an automated email from the ASF dual-hosted git repository.
liuxiaocs7 pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2 by this push:
new 7c43df1ff33 HBASE-30145 Upgrade hbase-server to use junit5 Part17 (#8261)
7c43df1ff33 is described below
commit 7c43df1ff33ab1c73a35abeb95c5d83809a00171
Author: Xiao Liu <li...@apache.org>
AuthorDate: Fri May 22 01:13:02 2026 +0800
HBASE-30145 Upgrade hbase-server to use junit5 Part17 (#8261)
Signed-off-by: Duo Zhang <zh...@apache.org>
(cherry picked from commit 2e70ac09e1e7ba71e84fa10899b05db2f4146906)
---
.../hadoop/hbase/regionserver/TestHRegionInfo.java | 127 ++++++++++-----------
.../TestObservedExceptionsInBatch.java | 20 ++--
.../TestOpenRegionFailedMemoryLeak.java | 32 +++---
.../TestOpenSeqNumUnexpectedIncrease.java | 23 ++--
.../hadoop/hbase/regionserver/TestParallelPut.java | 54 ++++-----
.../regionserver/TestPerColumnFamilyFlush.java | 35 +++---
.../hadoop/hbase/regionserver/TestPriorityRpc.java | 25 ++--
.../hadoop/hbase/regionserver/TestQosFunction.java | 18 +--
.../hbase/regionserver/TestRSChoresScheduled.java | 29 +++--
.../regionserver/TestRSKilledWhenInitializing.java | 26 ++---
.../hbase/regionserver/TestRSRpcServices.java | 14 +--
.../hbase/regionserver/TestRSSnapshotVerifier.java | 29 +++--
.../TestReadAndWriteRegionInfoFile.java | 25 ++--
.../hbase/regionserver/TestRecoveredEdits.java | 45 ++++----
.../TestRecoveredEditsReplayAndAbort.java | 50 ++++----
.../hbase/regionserver/TestRegionFavoredNodes.java | 27 ++---
.../hbase/regionserver/TestRegionIncrement.java | 44 +++----
.../hbase/regionserver/TestRegionInterrupt.java | 53 ++++-----
.../TestRegionMergeTransactionOnCluster.java | 78 ++++++-------
.../hadoop/hbase/regionserver/TestRegionMove.java | 45 +++-----
.../hadoop/hbase/regionserver/TestRegionOpen.java | 36 +++---
.../regionserver/TestRegionReplicaFailover.java | 37 +++---
.../TestRegionReplicaWaitForPrimaryFlushConf.java | 44 ++++---
.../TestRegionReplicasAreDistributed.java | 25 ++--
.../TestRegionReplicasWithModifyTable.java | 80 ++++++-------
.../TestRegionReplicasWithRestartScenarios.java | 44 +++----
.../hbase/regionserver/TestRegionServerAbort.java | 29 ++---
.../regionserver/TestRegionServerAbortTimeout.java | 27 ++---
.../regionserver/TestRegionServerAccounting.java | 18 +--
.../TestRegionServerCrashDisableWAL.java | 23 ++--
.../regionserver/TestRegionServerHostname.java | 50 ++++----
.../regionserver/TestRegionServerMetrics.java | 75 ++++++------
.../regionserver/TestRegionServerNoMaster.java | 70 ++++++------
.../TestRegionServerOnlineConfigChange.java | 30 ++---
.../TestRegionServerReadRequestMetrics.java | 38 +++---
.../TestRegionServerRegionSpaceUseReport.java | 22 ++--
.../TestRegionServerRejectDuringAbort.java | 29 ++---
.../TestRegionServerReportForDuty.java | 32 +++---
.../hbase/regionserver/TestRegionServerScan.java | 29 ++---
.../hbase/regionserver/TestRegionServerUseIp.java | 22 ++--
.../hbase/regionserver/TestRegionSplitPolicy.java | 31 +++--
.../regionserver/TestRegionSplitRestriction.java | 22 ++--
.../regionserver/TestRemoveRegionMetrics.java | 29 ++---
.../regionserver/TestRequestsPerSecondMetric.java | 26 ++---
.../hbase/regionserver/TestResettingCounters.java | 27 ++---
.../hbase/regionserver/TestReversibleScanners.java | 40 +++----
.../regionserver/TestRowPrefixBloomFilter.java | 38 +++---
.../hadoop/hbase/regionserver/TestRowTooBig.java | 31 +++--
.../regionserver/TestRpcSchedulerFactory.java | 22 +---
49 files changed, 766 insertions(+), 1059 deletions(-)
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java
index 5fd3186a0c1..d0131d314e8 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java
@@ -17,18 +17,17 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertArrayEquals;
-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.assertArrayEquals;
+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 java.io.IOException;
import org.apache.hadoop.conf.Configuration;
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.HConstants;
import org.apache.hadoop.hbase.HRegionInfo;
@@ -44,50 +43,49 @@ import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
import org.apache.hadoop.hbase.util.FSTableDescriptors;
import org.apache.hadoop.hbase.util.MD5Hash;
-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.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.protobuf.UnsafeByteOperations;
import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;
-@Category({ RegionServerTests.class, SmallTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(SmallTests.TAG)
public class TestHRegionInfo {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestHRegionInfo.class);
+ private String methodName;
- @Rule
- public TestName name = new TestName();
+ @BeforeEach
+ public void setUp(TestInfo testInfo) {
+ methodName = testInfo.getTestMethod().get().getName();
+ }
@Test
public void testIsStart() {
assertTrue(RegionInfoBuilder.FIRST_META_REGIONINFO.isFirst());
- org.apache.hadoop.hbase.client.RegionInfo ri = org.apache.hadoop.hbase.client.RegionInfoBuilder
- .newBuilder(TableName.META_TABLE_NAME).setStartKey(Bytes.toBytes("not_start")).build();
+ RegionInfo ri = RegionInfoBuilder.newBuilder(TableName.META_TABLE_NAME)
+ .setStartKey(Bytes.toBytes("not_start")).build();
assertFalse(ri.isFirst());
}
@Test
public void testIsEnd() {
assertTrue(RegionInfoBuilder.FIRST_META_REGIONINFO.isFirst());
- org.apache.hadoop.hbase.client.RegionInfo ri = org.apache.hadoop.hbase.client.RegionInfoBuilder
- .newBuilder(TableName.META_TABLE_NAME).setEndKey(Bytes.toBytes("not_end")).build();
+ RegionInfo ri = RegionInfoBuilder.newBuilder(TableName.META_TABLE_NAME)
+ .setEndKey(Bytes.toBytes("not_end")).build();
assertFalse(ri.isLast());
}
@Test
public void testIsNext() {
byte[] bytes = Bytes.toBytes("row");
- org.apache.hadoop.hbase.client.RegionInfo ri = org.apache.hadoop.hbase.client.RegionInfoBuilder
- .newBuilder(TableName.META_TABLE_NAME).setEndKey(bytes).build();
- org.apache.hadoop.hbase.client.RegionInfo ri2 = org.apache.hadoop.hbase.client.RegionInfoBuilder
- .newBuilder(TableName.META_TABLE_NAME).setStartKey(bytes).build();
+ RegionInfo ri =
+ RegionInfoBuilder.newBuilder(TableName.META_TABLE_NAME).setEndKey(bytes).build();
+ RegionInfo ri2 =
+ RegionInfoBuilder.newBuilder(TableName.META_TABLE_NAME).setStartKey(bytes).build();
assertFalse(ri.isNext(RegionInfoBuilder.FIRST_META_REGIONINFO));
assertTrue(ri.isNext(ri2));
}
@@ -98,20 +96,15 @@ public class TestHRegionInfo {
byte[] b = Bytes.toBytes("b");
byte[] c = Bytes.toBytes("c");
byte[] d = Bytes.toBytes("d");
- org.apache.hadoop.hbase.client.RegionInfo all = RegionInfoBuilder.FIRST_META_REGIONINFO;
- org.apache.hadoop.hbase.client.RegionInfo ari = org.apache.hadoop.hbase.client.RegionInfoBuilder
- .newBuilder(TableName.META_TABLE_NAME).setEndKey(a).build();
- org.apache.hadoop.hbase.client.RegionInfo abri =
- org.apache.hadoop.hbase.client.RegionInfoBuilder.newBuilder(TableName.META_TABLE_NAME)
- .setStartKey(a).setEndKey(b).build();
- org.apache.hadoop.hbase.client.RegionInfo adri =
- org.apache.hadoop.hbase.client.RegionInfoBuilder.newBuilder(TableName.META_TABLE_NAME)
- .setStartKey(a).setEndKey(d).build();
- org.apache.hadoop.hbase.client.RegionInfo cdri =
- org.apache.hadoop.hbase.client.RegionInfoBuilder.newBuilder(TableName.META_TABLE_NAME)
- .setStartKey(c).setEndKey(d).build();
- org.apache.hadoop.hbase.client.RegionInfo dri = org.apache.hadoop.hbase.client.RegionInfoBuilder
- .newBuilder(TableName.META_TABLE_NAME).setStartKey(d).build();
+ RegionInfo all = RegionInfoBuilder.FIRST_META_REGIONINFO;
+ RegionInfo ari = RegionInfoBuilder.newBuilder(TableName.META_TABLE_NAME).setEndKey(a).build();
+ RegionInfo abri =
+ RegionInfoBuilder.newBuilder(TableName.META_TABLE_NAME).setStartKey(a).setEndKey(b).build();
+ RegionInfo adri =
+ RegionInfoBuilder.newBuilder(TableName.META_TABLE_NAME).setStartKey(a).setEndKey(d).build();
+ RegionInfo cdri =
+ RegionInfoBuilder.newBuilder(TableName.META_TABLE_NAME).setStartKey(c).setEndKey(d).build();
+ RegionInfo dri = RegionInfoBuilder.newBuilder(TableName.META_TABLE_NAME).setStartKey(d).build();
assertTrue(all.isOverlap(all));
assertTrue(all.isOverlap(abri));
assertFalse(abri.isOverlap(cdri));
@@ -127,7 +120,7 @@ public class TestHRegionInfo {
}
/**
- * Tests {@link RegionInfo#isOverlap(RegionInfo[])}
+ * Tests {@link RegionInfo#isOverlap(RegionInfo)}
*/
@Test
public void testIsOverlaps() {
@@ -197,7 +190,7 @@ public class TestHRegionInfo {
@Test
public void testCreateHRegionInfoName() throws Exception {
- final String tableName = name.getMethodName();
+ final String tableName = methodName;
final TableName tn = TableName.valueOf(tableName);
String startKey = "startkey";
final byte[] sk = Bytes.toBytes(startKey);
@@ -218,7 +211,7 @@ public class TestHRegionInfo {
@Test
public void testContainsRange() {
- HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(name.getMethodName()));
+ HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(methodName));
HRegionInfo hri =
new HRegionInfo(tableDesc.getTableName(), Bytes.toBytes("a"), Bytes.toBytes("g"));
// Single row range at start of region
@@ -278,7 +271,7 @@ public class TestHRegionInfo {
@Test
public void testLastRegionCompare() {
- HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(name.getMethodName()));
+ HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(methodName));
HRegionInfo hrip = new HRegionInfo(tableDesc.getTableName(), Bytes.toBytes("a"), new byte[0]);
HRegionInfo hric =
new HRegionInfo(tableDesc.getTableName(), Bytes.toBytes("a"), Bytes.toBytes("b"));
@@ -293,7 +286,7 @@ public class TestHRegionInfo {
@SuppressWarnings("SelfComparison")
@Test
public void testComparator() {
- final TableName tableName = TableName.valueOf(name.getMethodName());
+ final TableName tableName = TableName.valueOf(methodName);
byte[] empty = new byte[0];
HRegionInfo older = new HRegionInfo(tableName, empty, empty, false, 0L);
HRegionInfo newer = new HRegionInfo(tableName, empty, empty, false, 1L);
@@ -327,7 +320,7 @@ public class TestHRegionInfo {
@Test
public void testRegionNameForRegionReplicas() throws Exception {
- String tableName = name.getMethodName();
+ String tableName = methodName;
final TableName tn = TableName.valueOf(tableName);
String startKey = "startkey";
final byte[] sk = Bytes.toBytes(startKey);
@@ -356,7 +349,7 @@ public class TestHRegionInfo {
@Test
public void testParseName() throws IOException {
- final TableName tableName = TableName.valueOf(name.getMethodName());
+ final TableName tableName = TableName.valueOf(methodName);
byte[] startKey = Bytes.toBytes("startKey");
long regionId = EnvironmentEdgeManager.currentTime();
int replicaId = 42;
@@ -365,25 +358,25 @@ public class TestHRegionInfo {
byte[] regionName = HRegionInfo.createRegionName(tableName, startKey, regionId, false);
byte[][] fields = HRegionInfo.parseRegionName(regionName);
- assertArrayEquals(Bytes.toString(fields[0]), tableName.getName(), fields[0]);
- assertArrayEquals(Bytes.toString(fields[1]), startKey, fields[1]);
- assertArrayEquals(Bytes.toString(fields[2]), Bytes.toBytes(Long.toString(regionId)), fields[2]);
+ assertArrayEquals(tableName.getName(), fields[0], Bytes.toString(fields[0]));
+ assertArrayEquals(startKey, fields[1], Bytes.toString(fields[1]));
+ assertArrayEquals(Bytes.toBytes(Long.toString(regionId)), fields[2], Bytes.toString(fields[2]));
assertEquals(3, fields.length);
// test with replicaId
regionName = HRegionInfo.createRegionName(tableName, startKey, regionId, replicaId, false);
fields = HRegionInfo.parseRegionName(regionName);
- assertArrayEquals(Bytes.toString(fields[0]), tableName.getName(), fields[0]);
- assertArrayEquals(Bytes.toString(fields[1]), startKey, fields[1]);
- assertArrayEquals(Bytes.toString(fields[2]), Bytes.toBytes(Long.toString(regionId)), fields[2]);
- assertArrayEquals(Bytes.toString(fields[3]),
- Bytes.toBytes(String.format(HRegionInfo.REPLICA_ID_FORMAT, replicaId)), fields[3]);
+ assertArrayEquals(tableName.getName(), fields[0], Bytes.toString(fields[0]));
+ assertArrayEquals(startKey, fields[1], Bytes.toString(fields[1]));
+ assertArrayEquals(Bytes.toBytes(Long.toString(regionId)), fields[2], Bytes.toString(fields[2]));
+ assertArrayEquals(Bytes.toBytes(String.format(HRegionInfo.REPLICA_ID_FORMAT, replicaId)),
+ fields[3], Bytes.toString(fields[3]));
}
@Test
public void testConvert() {
- final TableName tableName = TableName.valueOf("ns1:" + name.getMethodName());
+ final TableName tableName = TableName.valueOf("ns1:" + methodName);
byte[] startKey = Bytes.toBytes("startKey");
byte[] endKey = Bytes.toBytes("endKey");
boolean split = false;
@@ -420,15 +413,14 @@ public class TestHRegionInfo {
byte[] endKey = new byte[] { 0x01, 0x01, 0x02, 0x04 };
Configuration conf = new Configuration();
conf.setBoolean("hbase.display.keys", false);
- HRegionInfo h = new HRegionInfo(TableName.valueOf(name.getMethodName()), startKey, endKey);
+ HRegionInfo h = new HRegionInfo(TableName.valueOf(methodName), startKey, endKey);
checkEquality(h, conf);
// check HRIs with non-default replicaId
- h = new HRegionInfo(TableName.valueOf(name.getMethodName()), startKey, endKey, false,
+ h = new HRegionInfo(TableName.valueOf(methodName), startKey, endKey, false,
EnvironmentEdgeManager.currentTime(), 1);
checkEquality(h, conf);
- Assert.assertArrayEquals(HRegionInfo.HIDDEN_END_KEY, HRegionInfo.getEndKeyForDisplay(h, conf));
- Assert.assertArrayEquals(HRegionInfo.HIDDEN_START_KEY,
- HRegionInfo.getStartKeyForDisplay(h, conf));
+ assertArrayEquals(HRegionInfo.HIDDEN_END_KEY, HRegionInfo.getEndKeyForDisplay(h, conf));
+ assertArrayEquals(HRegionInfo.HIDDEN_START_KEY, HRegionInfo.getStartKeyForDisplay(h, conf));
RegionState state = RegionState.createForTesting(h, RegionState.State.OPEN);
String descriptiveNameForDisplay =
@@ -436,9 +428,9 @@ public class TestHRegionInfo {
checkDescriptiveNameEquality(descriptiveNameForDisplay, state.toDescriptiveString(), startKey);
conf.setBoolean("hbase.display.keys", true);
- Assert.assertArrayEquals(endKey, HRegionInfo.getEndKeyForDisplay(h, conf));
- Assert.assertArrayEquals(startKey, HRegionInfo.getStartKeyForDisplay(h, conf));
- Assert.assertEquals(state.toDescriptiveString(),
+ assertArrayEquals(endKey, HRegionInfo.getEndKeyForDisplay(h, conf));
+ assertArrayEquals(startKey, HRegionInfo.getStartKeyForDisplay(h, conf));
+ assertEquals(state.toDescriptiveString(),
HRegionInfo.getDescriptiveNameFromRegionStateForDisplay(state, conf));
}
@@ -469,11 +461,10 @@ public class TestHRegionInfo {
// all parts should match except for [1] where in the modified one,
// we should have "hidden_start_key"
if (i != 1) {
- Assert.assertArrayEquals(regionNameParts[i], modifiedRegionNameParts[i]);
+ assertArrayEquals(regionNameParts[i], modifiedRegionNameParts[i]);
} else {
assertNotEquals(regionNameParts[i][0], modifiedRegionNameParts[i][0]);
- Assert.assertArrayEquals(modifiedRegionNameParts[1],
- HRegionInfo.getStartKeyForDisplay(h, conf));
+ assertArrayEquals(modifiedRegionNameParts[1], HRegionInfo.getStartKeyForDisplay(h, conf));
}
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestObservedExceptionsInBatch.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestObservedExceptionsInBatch.java
index 89082da0860..b3e35c005c2 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestObservedExceptionsInBatch.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestObservedExceptionsInBatch.java
@@ -17,30 +17,24 @@
*/
package org.apache.hadoop.hbase.regionserver;
-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 org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.regionserver.HRegion.ObservedExceptionsInBatch;
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;
/**
* Test class for {@link ObservedExceptionsInBatch}.
*/
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
public class TestObservedExceptionsInBatch {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestObservedExceptionsInBatch.class);
-
private ObservedExceptionsInBatch observedExceptions;
- @Before
+ @BeforeEach
public void setup() {
observedExceptions = new ObservedExceptionsInBatch();
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestOpenRegionFailedMemoryLeak.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestOpenRegionFailedMemoryLeak.java
index 324de146e0e..d281f9677bc 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestOpenRegionFailedMemoryLeak.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestOpenRegionFailedMemoryLeak.java
@@ -18,7 +18,9 @@
package org.apache.hadoop.hbase.regionserver;
import static org.apache.hadoop.hbase.HBaseTestingUtility.fam1;
-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 static org.mockito.Mockito.spy;
import java.io.IOException;
@@ -29,7 +31,6 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.TableName;
@@ -43,27 +44,22 @@ import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManagerTestHelper;
import org.apache.hadoop.hbase.util.TableDescriptorChecker;
import org.apache.hadoop.metrics2.MetricsExecutor;
-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;
-@Category({ RegionServerTests.class, LargeTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(LargeTests.TAG)
public class TestOpenRegionFailedMemoryLeak {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestOpenRegionFailedMemoryLeak.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestOpenRegionFailedMemoryLeak.class);
private static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
- @BeforeClass
+ @BeforeAll
public static void startCluster() throws Exception {
Configuration conf = TEST_UTIL.getConfiguration();
@@ -71,7 +67,7 @@ public class TestOpenRegionFailedMemoryLeak {
conf.setBoolean(TableDescriptorChecker.TABLE_SANITY_CHECKS, true);
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws IOException {
EnvironmentEdgeManagerTestHelper.reset();
LOG.info("Cleaning test directory: " + TEST_UTIL.getDataTestDir());
@@ -108,12 +104,12 @@ public class TestOpenRegionFailedMemoryLeak {
field.setAccessible(true);
BlockingQueue<Runnable> workQueue = (BlockingQueue<Runnable>) field.get(executor);
// there are still two task not cancel, can not cause to memory lack
- Assert.assertTrue("ScheduledExecutor#workQueue should equals 2, now is " + workQueue.size()
- + ", please check region is close", 2 == workQueue.size());
+ assertEquals(2, workQueue.size(), "ScheduledExecutor#workQueue should equals 2, now is "
+ + workQueue.size() + " please check region is close");
found = true;
}
}
- Assert.assertTrue("can not find workQueue, test failed", found);
+ assertTrue(found, "can not find workQueue, test failed");
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestOpenSeqNumUnexpectedIncrease.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestOpenSeqNumUnexpectedIncrease.java
index 0939df7d722..633d68a5775 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestOpenSeqNumUnexpectedIncrease.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestOpenSeqNumUnexpectedIncrease.java
@@ -17,7 +17,7 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException;
import java.util.List;
@@ -26,7 +26,6 @@ import java.util.concurrent.atomic.AtomicInteger;
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.HConstants;
import org.apache.hadoop.hbase.TableName;
@@ -36,22 +35,18 @@ import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.wal.WAL;
-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;
/**
* Testcase for HBASE-20242
*/
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestOpenSeqNumUnexpectedIncrease {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestOpenSeqNumUnexpectedIncrease.class);
-
private static final HBaseTestingUtility UTIL = new HBaseTestingUtility();
private static AtomicInteger FAILED_OPEN = new AtomicInteger(0);
@@ -83,7 +78,7 @@ public class TestOpenSeqNumUnexpectedIncrease {
}
}
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
UTIL.getConfiguration().setInt(HConstants.HBASE_RPC_TIMEOUT_KEY, 600000);
UTIL.getConfiguration().setClass(HConstants.REGION_IMPL, MockHRegion.class, HRegion.class);
@@ -92,7 +87,7 @@ public class TestOpenSeqNumUnexpectedIncrease {
UTIL.getAdmin().balancerSwitch(false, true);
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
UTIL.shutdownMiniCluster();
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestParallelPut.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestParallelPut.java
index e785901a4da..a5caf8647a5 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestParallelPut.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestParallelPut.java
@@ -18,13 +18,13 @@
package org.apache.hadoop.hbase.regionserver;
import static org.apache.hadoop.hbase.HBaseTestingUtility.fam1;
-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.junit.jupiter.api.Assertions.fail;
import java.io.IOException;
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.HConstants;
@@ -39,34 +39,28 @@ import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManagerTestHelper;
-import org.junit.After;
-import org.junit.Before;
-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;
/**
* Testing of multiPut in parallel.
*/
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestParallelPut {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestParallelPut.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestParallelPut.class);
- @Rule
- public TestName name = new TestName();
private HRegion region = null;
private static HBaseTestingUtility HBTU = new HBaseTestingUtility();
private static final int THREADS100 = 100;
+ private String methodName;
// Test names
static byte[] tableName;
@@ -78,21 +72,19 @@ public class TestParallelPut {
static final byte[] row = Bytes.toBytes("rowA");
static final byte[] row2 = Bytes.toBytes("rowB");
- @BeforeClass
+ @BeforeAll
public static void beforeClass() {
// Make sure enough handlers.
HBTU.getConfiguration().setInt(HConstants.REGION_SERVER_HANDLER_COUNT, THREADS100);
}
- /**
- * @see org.apache.hadoop.hbase.HBaseTestCase#setUp()
- */
- @Before
- public void setUp() throws Exception {
- tableName = Bytes.toBytes(name.getMethodName());
+ @BeforeEach
+ public void setUp(TestInfo testInfo) throws Exception {
+ methodName = testInfo.getTestMethod().get().getName();
+ tableName = Bytes.toBytes(methodName);
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
EnvironmentEdgeManagerTestHelper.reset();
if (region != null) {
@@ -100,8 +92,8 @@ public class TestParallelPut {
}
}
- public String getName() {
- return name.getMethodName();
+ public String getMethodName() {
+ return methodName;
}
//////////////////////////////////////////////////////////////////////////////
@@ -115,7 +107,7 @@ public class TestParallelPut {
@Test
public void testPut() throws IOException {
LOG.info("Starting testPut");
- this.region = initHRegion(tableName, getName(), fam1);
+ this.region = initHRegion(tableName, getMethodName(), fam1);
long value = 1L;
@@ -134,7 +126,7 @@ public class TestParallelPut {
LOG.info("Starting testParallelPuts");
- this.region = initHRegion(tableName, getName(), fam1);
+ this.region = initHRegion(tableName, getMethodName(), fam1);
int numOps = 1000; // these many operations per thread
// create 100 threads, each will do its own puts
@@ -224,7 +216,7 @@ public class TestParallelPut {
assertEquals(OperationStatusCode.SUCCESS, ret[0].getOperationStatusCode());
assertGet(this.region, rowkey, fam1, qual1, value);
} catch (IOException e) {
- assertTrue("Thread id " + threadNumber + " operation " + i + " failed.", false);
+ fail("Thread id " + threadNumber + " operation " + i + " failed.", e);
}
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestPerColumnFamilyFlush.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestPerColumnFamilyFlush.java
index a36b2559208..4839c149fd3 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestPerColumnFamilyFlush.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestPerColumnFamilyFlush.java
@@ -17,17 +17,16 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertEquals;
-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.assertEquals;
+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 java.io.IOException;
import java.util.Arrays;
import java.util.List;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HColumnDescriptor;
@@ -52,9 +51,8 @@ import org.apache.hadoop.hbase.util.JVMClusterUtil;
import org.apache.hadoop.hbase.util.Pair;
import org.apache.hadoop.hbase.wal.AbstractFSWALProvider;
import org.apache.hadoop.hbase.wal.WAL;
-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.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -63,13 +61,10 @@ import org.apache.hbase.thirdparty.com.google.common.hash.Hashing;
/**
* This test verifies the correctness of the Per Column Family flushing strategy
*/
-@Category({ RegionServerTests.class, LargeTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(LargeTests.TAG)
public class TestPerColumnFamilyFlush {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestPerColumnFamilyFlush.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestPerColumnFamilyFlush.class);
private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
@@ -119,11 +114,11 @@ public class TestPerColumnFamilyFlush {
byte[] family = FAMILIES[familyNum - 1];
byte[] qf = Bytes.toBytes("q" + familyNum);
byte[] val = Bytes.toBytes("val" + familyNum + "-" + putNum);
- assertNotNull(("Missing Put#" + putNum + " for CF# " + familyNum), r.getFamilyMap(family));
- assertNotNull(("Missing Put#" + putNum + " for CF# " + familyNum),
- r.getFamilyMap(family).get(qf));
- assertTrue(("Incorrect value for Put#" + putNum + " for CF# " + familyNum),
- Arrays.equals(r.getFamilyMap(family).get(qf), val));
+ assertNotNull(r.getFamilyMap(family), "Missing Put#" + putNum + " for CF# " + familyNum);
+ assertNotNull(r.getFamilyMap(family).get(qf),
+ "Missing Put#" + putNum + " for CF# " + familyNum);
+ assertTrue(Arrays.equals(r.getFamilyMap(family).get(qf), val),
+ "Incorrect value for Put#" + putNum + " for CF# " + familyNum);
}
@Test
@@ -372,7 +367,7 @@ public class TestPerColumnFamilyFlush {
Pair<HRegion, HRegionServer> desiredRegionAndServer = getRegionWithName(TABLENAME);
HRegion desiredRegion = desiredRegionAndServer.getFirst();
- assertTrue("Could not find a region which hosts the new region.", desiredRegion != null);
+ assertNotNull(desiredRegion, "Could not find a region which hosts the new region.");
// Flush the region selectively.
desiredRegion.flush(false);
@@ -472,7 +467,7 @@ public class TestPerColumnFamilyFlush {
}
Pair<HRegion, HRegionServer> desiredRegionAndServer = getRegionWithName(tableName);
final HRegion desiredRegion = desiredRegionAndServer.getFirst();
- assertTrue("Could not find a region which hosts the new region.", desiredRegion != null);
+ assertNotNull(desiredRegion, "Could not find a region which hosts the new region.");
LOG.info("Writing to region=" + desiredRegion);
// Add one row for both CFs.
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestPriorityRpc.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestPriorityRpc.java
index 732eb71373e..1f064445257 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestPriorityRpc.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestPriorityRpc.java
@@ -17,10 +17,9 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.TableName;
@@ -31,11 +30,10 @@ import org.apache.hadoop.hbase.security.User;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
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.mockito.Mockito;
import org.apache.hbase.thirdparty.com.google.protobuf.ByteString;
@@ -51,26 +49,23 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader
/**
* Tests that verify certain RPCs get a higher QoS.
*/
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestPriorityRpc {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestPriorityRpc.class);
-
private static final HBaseTestingUtility UTIL = new HBaseTestingUtility();
private static HRegionServer RS = null;
private static PriorityFunction PRIORITY = null;
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
UTIL.startMiniCluster(1);
RS = UTIL.getHBaseCluster().getRegionServer(0);
PRIORITY = RS.rpcServices.getPriority();
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws IOException {
UTIL.shutdownMiniCluster();
}
@@ -147,7 +142,7 @@ public class TestPriorityRpc {
// Presume type.
((AnnotationReadingPriorityFunction) PRIORITY).setRegionServer(mockRS);
final int qos = PRIORITY.getPriority(header, scanRequest, createSomeUser());
- assertEquals(Integer.toString(qos), qos, HConstants.NORMAL_QOS);
+ assertEquals(HConstants.NORMAL_QOS, qos, Integer.toString(qos));
// build a scan request with scannerID
scanBuilder = ScanRequest.newBuilder();
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQosFunction.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQosFunction.java
index b3b71842c26..890acc3bf6e 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQosFunction.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQosFunction.java
@@ -20,16 +20,14 @@ package org.apache.hadoop.hbase.regionserver;
import static org.mockito.Mockito.when;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.QosTestHelper;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
-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.Mockito;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRequest;
@@ -38,18 +36,15 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiReque
* Basic test that qos function is sort of working; i.e. a change in method naming style over in pb
* doesn't break it.
*/
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestQosFunction extends QosTestHelper {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestQosFunction.class);
-
private Configuration conf;
private RSRpcServices rpcServices;
private AnnotationReadingPriorityFunction qosFunction;
- @Before
+ @BeforeEach
public void setUp() {
conf = HBaseConfiguration.create();
rpcServices = Mockito.mock(RSRpcServices.class);
@@ -66,7 +61,6 @@ public class TestQosFunction extends QosTestHelper {
// Check multi works.
checkMethod(conf, "Multi", HConstants.NORMAL_QOS, qosFunction,
MultiRequest.getDefaultInstance());
-
}
@Test
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSChoresScheduled.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSChoresScheduled.java
index 0ec8b70545d..de3d5b51aff 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSChoresScheduled.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSChoresScheduled.java
@@ -17,41 +17,38 @@
*/
package org.apache.hadoop.hbase.regionserver;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
import java.lang.reflect.Field;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.ScheduledChore;
import org.apache.hadoop.hbase.StartMiniClusterOption;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
-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;
/**
* Tests to validate if HRegionServer default chores are scheduled
*/
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRSChoresScheduled {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRSChoresScheduled.class);
-
private static HRegionServer hRegionServer;
private static final HBaseTestingUtility UTIL = new HBaseTestingUtility();
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
UTIL.startMiniCluster(StartMiniClusterOption.builder().numRegionServers(1).build());
hRegionServer = UTIL.getMiniHBaseCluster().getRegionServer(0);
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
UTIL.shutdownMiniCluster();
}
@@ -66,8 +63,8 @@ public class TestRSChoresScheduled {
}
private void testIfChoreScheduled(E choreObj) {
- Assert.assertNotNull(choreObj);
- Assert.assertTrue(hRegionServer.getChoreService().isChoreScheduled(choreObj));
+ assertNotNull(choreObj);
+ assertTrue(hRegionServer.getChoreService().isChoreScheduled(choreObj));
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSKilledWhenInitializing.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSKilledWhenInitializing.java
index 35e84a36aae..dc34938d27b 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSKilledWhenInitializing.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSKilledWhenInitializing.java
@@ -17,8 +17,8 @@
*/
package org.apache.hadoop.hbase.regionserver;
-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.List;
@@ -26,7 +26,6 @@ import java.util.Map;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
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.LocalHBaseCluster;
@@ -42,12 +41,9 @@ import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread;
import org.apache.hadoop.hbase.util.Threads;
-import org.junit.ClassRule;
-import org.junit.Ignore;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -57,19 +53,13 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProto
* Tests that a regionserver that dies after reporting for duty gets removed from list of online
* regions. See HBASE-9593.
*/
-@Category({ RegionServerTests.class, MediumTests.class })
-@Ignore("See HBASE-19515")
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
+@Disabled("See HBASE-19515")
public class TestRSKilledWhenInitializing {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRSKilledWhenInitializing.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestRSKilledWhenInitializing.class);
- @Rule
- public TestName testName = new TestName();
-
// This boolean needs to be globally available. It is used below in our
// mocked up regionserver so it knows when to die.
private static AtomicBoolean masterActive = new AtomicBoolean(false);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSRpcServices.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSRpcServices.java
index ca7e20f5869..27880eb4ced 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSRpcServices.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSRpcServices.java
@@ -17,20 +17,18 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Optional;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.client.RegionInfoBuilder;
import org.apache.hadoop.hbase.ipc.RpcCall;
import org.apache.hadoop.hbase.ipc.RpcServer;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
-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.mockito.Mockito;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -38,11 +36,9 @@ import org.slf4j.LoggerFactory;
/**
* Test parts of {@link RSRpcServices}
*/
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRSRpcServices {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRSRpcServices.class);
private static final Logger LOG = LoggerFactory.getLogger(TestRSRpcServices.class);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSSnapshotVerifier.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSSnapshotVerifier.java
index da7af7c0701..df51d93d687 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSSnapshotVerifier.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSSnapshotVerifier.java
@@ -17,12 +17,13 @@
*/
package org.apache.hadoop.hbase.regionserver;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
import java.io.IOException;
import java.util.ArrayList;
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.TableName;
import org.apache.hadoop.hbase.client.SnapshotDescription;
@@ -36,24 +37,21 @@ import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.CommonFSUtils;
import org.apache.hadoop.hbase.util.RegionSplitter;
-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;
import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos;
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRSSnapshotVerifier {
- private static final Logger LOG = LoggerFactory.getLogger(TestRSSnapshotVerifier.class);
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRSSnapshotVerifier.class);
+ private static final Logger LOG = LoggerFactory.getLogger(TestRSSnapshotVerifier.class);
private HBaseTestingUtility TEST_UTIL;
private final TableName tableName = TableName.valueOf("TestRSSnapshotVerifier");
@@ -63,7 +61,7 @@ public class TestRSSnapshotVerifier {
private SnapshotProtos.SnapshotDescription snapshotProto =
ProtobufUtil.createHBaseProtosSnapshotDesc(snapshot);
- @Before
+ @BeforeEach
public void setup() throws Exception {
TEST_UTIL = new HBaseTestingUtility();
TEST_UTIL.startMiniCluster(3);
@@ -97,7 +95,7 @@ public class TestRSSnapshotVerifier {
manifest.consolidate();
}
- @Test(expected = org.apache.hadoop.hbase.snapshot.CorruptedSnapshotException.class)
+ @Test
public void testVerifyStoreFile() throws Exception {
RSSnapshotVerifier verifier =
TEST_UTIL.getHBaseCluster().getRegionServer(0).getRsSnapshotVerifier();
@@ -106,10 +104,11 @@ public class TestRSSnapshotVerifier {
Path filePath = new ArrayList<>(region.getStore(cf).getStorefiles()).get(0).getPath();
TEST_UTIL.getDFSCluster().getFileSystem().delete(filePath, true);
LOG.info("delete store file {}", filePath);
- verifier.verifyRegion(snapshotProto, region.getRegionInfo());
+ assertThrows(org.apache.hadoop.hbase.snapshot.CorruptedSnapshotException.class,
+ () -> verifier.verifyRegion(snapshotProto, region.getRegionInfo()));
}
- @After
+ @AfterEach
public void teardown() throws Exception {
TEST_UTIL.shutdownMiniCluster();
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestReadAndWriteRegionInfoFile.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestReadAndWriteRegionInfoFile.java
index 497be06c15a..b6add9639a7 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestReadAndWriteRegionInfoFile.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestReadAndWriteRegionInfoFile.java
@@ -17,15 +17,14 @@
*/
package org.apache.hadoop.hbase.regionserver;
-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 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.HBaseCommonTestingUtility;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.TableName;
@@ -34,19 +33,15 @@ import org.apache.hadoop.hbase.client.RegionInfoBuilder;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.FSTableDescriptors;
-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({ RegionServerTests.class, SmallTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(SmallTests.TAG)
public class TestReadAndWriteRegionInfoFile {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestReadAndWriteRegionInfoFile.class);
-
private static final HBaseCommonTestingUtility UTIL = new HBaseTestingUtility();
private static final Configuration CONF = UTIL.getConfiguration();
@@ -55,13 +50,13 @@ public class TestReadAndWriteRegionInfoFile {
private static Path ROOT_DIR;
- @BeforeClass
+ @BeforeAll
public static void setUp() throws IOException {
ROOT_DIR = UTIL.getDataTestDir();
FS = ROOT_DIR.getFileSystem(CONF);
}
- @AfterClass
+ @AfterAll
public static void tearDown() {
UTIL.cleanupTestDir();
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.java
index 15209baff9d..60fa4233182 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.java
@@ -17,8 +17,8 @@
*/
package org.apache.hadoop.hbase.regionserver;
-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;
@@ -29,7 +29,6 @@ import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellComparatorImpl;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.MemoryCompactionPolicy;
@@ -54,32 +53,26 @@ import org.apache.hadoop.hbase.wal.WALFactory;
import org.apache.hadoop.hbase.wal.WALKey;
import org.apache.hadoop.hbase.wal.WALSplitUtil;
import org.apache.hadoop.hbase.wal.WALStreamReader;
-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.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;
/**
* Tests around replay of recovered.edits content.
*/
-@Category({ MediumTests.class })
+@Tag(MediumTests.TAG)
public class TestRecoveredEdits {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRecoveredEdits.class);
-
private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
private static final Logger LOG = LoggerFactory.getLogger(TestRecoveredEdits.class);
private static BlockCache blockCache;
- @Rule
- public TestName testName = new TestName();
+ private String methodName;
/**
* Path to a recovered.edits file in hbase-server test resources folder. This is a little fragile
@@ -106,11 +99,16 @@ public class TestRecoveredEdits {
/**
* Name of table mentioned edits from recovered.edits
*/
- @BeforeClass
+ @BeforeAll
public static void setUpBeforeClass() throws Exception {
blockCache = BlockCacheFactory.createBlockCache(TEST_UTIL.getConfiguration());
}
+ @BeforeEach
+ public void setUp(TestInfo testInfo) {
+ methodName = testInfo.getTestMethod().get().getName();
+ }
+
/**
* HBASE-12782 ITBLL fails for me if generator does anything but 5M per maptask. Create a region.
* Close it. Then copy into place a file to replay, one that is bigger than configured flush size
@@ -129,9 +127,8 @@ public class TestRecoveredEdits {
// Set it so we flush every 1M or so. Thats a lot.
conf.setInt(HConstants.HREGION_MEMSTORE_FLUSH_SIZE, 1024 * 1024);
conf.set(CompactingMemStore.COMPACTING_MEMSTORE_TYPE_KEY, String.valueOf(policy).toLowerCase());
- TableDescriptor tableDescriptor =
- TableDescriptorBuilder.newBuilder(TableName.valueOf(testName.getMethodName()))
- .setColumnFamily(RECOVEREDEDITS_CFD).build();
+ TableDescriptor tableDescriptor = TableDescriptorBuilder
+ .newBuilder(TableName.valueOf(methodName)).setColumnFamily(RECOVEREDEDITS_CFD).build();
RegionInfo hri = RegionInfoBuilder.newBuilder(tableDescriptor.getTableName()).build();
final String encodedRegionName = hri.getEncodedName();
Path hbaseRootDir = TEST_UTIL.getDataTestDir();
@@ -163,9 +160,9 @@ public class TestRecoveredEdits {
// we flush at 1MB, that there are at least 3 flushed files that are there because of the
// replay of edits.
if (policy == MemoryCompactionPolicy.EAGER || policy == MemoryCompactionPolicy.ADAPTIVE) {
- assertTrue("Files count=" + storeFiles.size(), storeFiles.size() >= 1);
+ assertTrue(storeFiles.size() >= 1, "Files count=" + storeFiles.size());
} else {
- assertTrue("Files count=" + storeFiles.size(), storeFiles.size() > 10);
+ assertTrue(storeFiles.size() > 10, "Files count=" + storeFiles.size());
}
// Now verify all edits made it into the region.
int count = verifyAllEditsMadeItIn(fs, conf, RECOVEREDEDITS_PATH, region);
@@ -232,8 +229,8 @@ public class TestRecoveredEdits {
i++;
}
}
- assertEquals("Only found " + found + " cells in region, but there are " + walCells.size()
- + " cells in recover edits", found, walCells.size());
+ assertEquals(found, walCells.size(), "Only found " + found + " cells in region, but there are "
+ + walCells.size() + " cells in recover edits");
return count;
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRecoveredEditsReplayAndAbort.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRecoveredEditsReplayAndAbort.java
index e854909504d..505d0a3ca38 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRecoveredEditsReplayAndAbort.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRecoveredEditsReplayAndAbort.java
@@ -17,11 +17,13 @@
*/
package org.apache.hadoop.hbase.regionserver;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
+
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.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.HRegionInfo;
@@ -44,14 +46,11 @@ import org.apache.hadoop.hbase.wal.WALFactory;
import org.apache.hadoop.hbase.wal.WALKeyImpl;
import org.apache.hadoop.hbase.wal.WALProvider;
import org.apache.hadoop.hbase.wal.WALSplitUtil;
-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.jupiter.api.AfterEach;
+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.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -60,11 +59,9 @@ import org.slf4j.LoggerFactory;
* HBASE-21031 If replay edits fails, we need to make sure memstore is rollbacked And if MSLAB is
* used, all chunk is released too.
*/
-@Category({ RegionServerTests.class, SmallTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(SmallTests.TAG)
public class TestRecoveredEditsReplayAndAbort {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRecoveredEditsReplayAndAbort.class);
private static final Logger LOG = LoggerFactory.getLogger(TestRecoveredEditsReplayAndAbort.class);
@@ -72,9 +69,6 @@ public class TestRecoveredEditsReplayAndAbort {
protected final static byte[] fam1 = Bytes.toBytes("colfamily11");
- @Rule
- public TestName name = new TestName();
-
// Test names
protected TableName tableName;
protected String method;
@@ -84,16 +78,16 @@ public class TestRecoveredEditsReplayAndAbort {
private static FileSystem FILESYSTEM;
private HRegion region = null;
- @Before
- public void setup() throws IOException {
+ @BeforeEach
+ public void setup(TestInfo testInfo) throws IOException {
TEST_UTIL = new HBaseTestingUtility();
FILESYSTEM = TEST_UTIL.getTestFileSystem();
CONF = TEST_UTIL.getConfiguration();
- method = name.getMethodName();
+ method = testInfo.getTestMethod().get().getName();
tableName = TableName.valueOf(method);
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
LOG.info("Cleaning test directory: " + TEST_UTIL.getDataTestDir());
TEST_UTIL.cleanupTestDir();
@@ -167,27 +161,25 @@ public class TestRecoveredEditsReplayAndAbort {
replayedEdits++;
// during replay, rsAccounting should align with global memstore, because
// there is only one memstore here
- Assert.assertEquals(rsAccounting.getGlobalMemStoreDataSize(),
- region.getMemStoreDataSize());
- Assert.assertEquals(rsAccounting.getGlobalMemStoreHeapSize(),
- region.getMemStoreHeapSize());
- Assert.assertEquals(rsAccounting.getGlobalMemStoreOffHeapSize(),
+ assertEquals(rsAccounting.getGlobalMemStoreDataSize(), region.getMemStoreDataSize());
+ assertEquals(rsAccounting.getGlobalMemStoreHeapSize(), region.getMemStoreHeapSize());
+ assertEquals(rsAccounting.getGlobalMemStoreOffHeapSize(),
region.getMemStoreOffHeapSize());
// abort the replay before finishing, leaving some edits in the memory
return replayedEdits < totalEdits - 10;
}
});
- Assert.fail("Should not reach here");
+ fail("Should not reach here");
} catch (IOException t) {
LOG.info("Current memstore: " + region.getMemStoreDataSize() + ", "
+ region.getMemStoreHeapSize() + ", " + region.getMemStoreOffHeapSize());
}
// After aborting replay, there should be no data in the memory
- Assert.assertEquals(0, rsAccounting.getGlobalMemStoreDataSize());
- Assert.assertEquals(0, region.getMemStoreDataSize());
+ assertEquals(0, rsAccounting.getGlobalMemStoreDataSize());
+ assertEquals(0, region.getMemStoreDataSize());
// All the chunk in the MSLAB should be recycled, otherwise, there might be
// a memory leak.
- Assert.assertEquals(0, ChunkCreator.getInstance().numberOfMappedChunks());
+ assertEquals(0, ChunkCreator.getInstance().numberOfMappedChunks());
} finally {
HBaseTestingUtility.closeRegionAndWAL(this.region);
this.region = null;
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionFavoredNodes.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionFavoredNodes.java
index d7411c2a0eb..0cb404a9681 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionFavoredNodes.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionFavoredNodes.java
@@ -17,7 +17,8 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.fail;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
import java.lang.reflect.Method;
import java.net.InetSocketAddress;
@@ -28,7 +29,6 @@ import org.apache.hadoop.fs.BlockLocation;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.permission.FsPermission;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Table;
@@ -38,23 +38,18 @@ import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hdfs.DistributedFileSystem;
import org.apache.hadoop.hdfs.server.datanode.DataNode;
import org.apache.hadoop.util.Progressable;
-import org.junit.AfterClass;
-import org.junit.Assume;
-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;
/**
* Tests the ability to specify favored nodes for a region.
*/
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRegionFavoredNodes {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionFavoredNodes.class);
-
private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
private static Table table;
private static final TableName TABLE_NAME = TableName.valueOf("table");
@@ -64,7 +59,7 @@ public class TestRegionFavoredNodes {
private static final int FLUSHES = 3;
private static Method createWithFavoredNode = null;
- @BeforeClass
+ @BeforeAll
public static void setUpBeforeClass() throws Exception {
try {
createWithFavoredNode = DistributedFileSystem.class.getDeclaredMethod("create", Path.class,
@@ -78,7 +73,7 @@ public class TestRegionFavoredNodes {
TEST_UTIL.waitUntilAllRegionsAssigned(TABLE_NAME);
}
- @AfterClass
+ @AfterAll
public static void tearDownAfterClass() throws Exception {
// guard against failure in setup
if (table != null) {
@@ -92,7 +87,7 @@ public class TestRegionFavoredNodes {
@Test
public void testFavoredNodes() throws Exception {
- Assume.assumeTrue(createWithFavoredNode != null);
+ assumeTrue(createWithFavoredNode != null);
// Get the addresses of the datanodes in the cluster.
InetSocketAddress[] nodes = new InetSocketAddress[REGION_SERVERS];
List<DataNode> datanodes = TEST_UTIL.getDFSCluster().getDataNodes();
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionIncrement.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionIncrement.java
index 47a77749fad..c6fe133849f 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionIncrement.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionIncrement.java
@@ -17,7 +17,7 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException;
import java.util.ArrayList;
@@ -26,7 +26,6 @@ import java.util.concurrent.ThreadLocalRandom;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.client.Durability;
@@ -37,13 +36,11 @@ import org.apache.hadoop.hbase.regionserver.wal.FSHLog;
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.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.AfterEach;
+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;
@@ -56,27 +53,24 @@ import org.slf4j.LoggerFactory;
* increments across two column families all on one row and the increments are connected to prove
* atomicity on row.
*/
-@Category(MediumTests.class)
+@Tag(MediumTests.TAG)
public class TestRegionIncrement {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionIncrement.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestRegionIncrement.class);
- @Rule
- public TestName name = new TestName();
+
+ private String name;
private static HBaseTestingUtility TEST_UTIL;
private final static byte[] INCREMENT_BYTES = Bytes.toBytes("increment");
private static final int THREAD_COUNT = 10;
private static final int INCREMENT_COUNT = 10000;
- @Before
- public void setUp() throws Exception {
+ @BeforeEach
+ public void setUp(TestInfo testInfo) throws Exception {
TEST_UTIL = HBaseTestingUtility.createLocalHTU();
+ name = testInfo.getTestMethod().get().getName();
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
TEST_UTIL.cleanupTestDir();
}
@@ -99,7 +93,7 @@ public class TestRegionIncrement {
@Test
public void testMVCCCausingMisRead() throws IOException {
- final HRegion region = getRegion(TEST_UTIL.getConfiguration(), this.name.getMethodName());
+ final HRegion region = getRegion(TEST_UTIL.getConfiguration(), this.name);
try {
// ADD TEST HERE!!
} finally {
@@ -177,7 +171,7 @@ public class TestRegionIncrement {
@Test
public void testUnContendedSingleCellIncrement() throws IOException, InterruptedException {
final HRegion region = getRegion(TEST_UTIL.getConfiguration(),
- TestIncrementsFromClientSide.filterStringSoTableNameSafe(this.name.getMethodName()));
+ TestIncrementsFromClientSide.filterStringSoTableNameSafe(this.name));
long startTime = EnvironmentEdgeManager.currentTime();
try {
SingleCellIncrementer[] threads = new SingleCellIncrementer[THREAD_COUNT];
@@ -204,8 +198,7 @@ public class TestRegionIncrement {
assertEquals(INCREMENT_COUNT * THREAD_COUNT, total);
} finally {
closeRegion(region);
- LOG.info(this.name.getMethodName() + " " + (EnvironmentEdgeManager.currentTime() - startTime)
- + "ms");
+ LOG.info(this.name + " " + (EnvironmentEdgeManager.currentTime() - startTime) + "ms");
}
}
@@ -215,7 +208,7 @@ public class TestRegionIncrement {
@Test
public void testContendedAcrossCellsIncrement() throws IOException, InterruptedException {
final HRegion region = getRegion(TEST_UTIL.getConfiguration(),
- TestIncrementsFromClientSide.filterStringSoTableNameSafe(this.name.getMethodName()));
+ TestIncrementsFromClientSide.filterStringSoTableNameSafe(this.name));
long startTime = EnvironmentEdgeManager.currentTime();
try {
CrossRowCellIncrementer[] threads = new CrossRowCellIncrementer[THREAD_COUNT];
@@ -239,8 +232,7 @@ public class TestRegionIncrement {
assertEquals(INCREMENT_COUNT * THREAD_COUNT, total);
} finally {
closeRegion(region);
- LOG.info(this.name.getMethodName() + " " + (EnvironmentEdgeManager.currentTime() - startTime)
- + "ms");
+ LOG.info(this.name + " " + (EnvironmentEdgeManager.currentTime() - startTime) + "ms");
}
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionInterrupt.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionInterrupt.java
index 10fa509e265..8d46f36f598 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionInterrupt.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionInterrupt.java
@@ -17,7 +17,7 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.io.InterruptedIOException;
@@ -27,14 +27,12 @@ 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.HColumnDescriptor;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.NotServingRegionException;
import org.apache.hadoop.hbase.TableName;
-import org.apache.hadoop.hbase.TableNameTestRule;
import org.apache.hadoop.hbase.Waiter;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Append;
@@ -60,23 +58,19 @@ import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.wal.WAL;
import org.apache.hadoop.hbase.wal.WALEdit;
-import org.junit.After;
-import org.junit.Before;
-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.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({ RegionServerTests.class, LargeTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(LargeTests.TAG)
public class TestRegionInterrupt {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionInterrupt.class);
-
private static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
private static final Logger LOG = LoggerFactory.getLogger(TestRegionInterrupt.class);
@@ -84,10 +78,7 @@ public class TestRegionInterrupt {
static long sleepTime;
- @Rule
- public TableNameTestRule name = new TableNameTestRule();
-
- @BeforeClass
+ @BeforeAll
public static void setUpBeforeClass() throws Exception {
Configuration conf = TEST_UTIL.getConfiguration();
conf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 1);
@@ -101,19 +92,19 @@ public class TestRegionInterrupt {
conf.setLong(HRegion.CLOSE_WAIT_TIME, sleepTime * 2);
}
- @Before
+ @BeforeEach
public void setUp() throws Exception {
TEST_UTIL.startMiniCluster();
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
TEST_UTIL.shutdownMiniCluster();
}
@Test
- public void testCloseInterruptScanning() throws Exception {
- final TableName tableName = name.getTableName();
+ public void testCloseInterruptScanning(TestInfo testInfo) throws Exception {
+ final TableName tableName = TableName.valueOf(testInfo.getTestMethod().get().getName());
LOG.info("Creating table " + tableName);
try (Table table = TEST_UTIL.createTable(tableName, FAMILY)) {
// load some data
@@ -165,15 +156,15 @@ public class TestRegionInterrupt {
scanner.join();
// When we get here the region has closed and the table is offline
- assertTrue("Region operations were not interrupted",
- InterruptInterceptingHRegion.wasInterrupted());
- assertTrue("Scanner did not catch expected exception", expectedExceptionCaught.get());
+ assertTrue(InterruptInterceptingHRegion.wasInterrupted(),
+ "Region operations were not interrupted");
+ assertTrue(expectedExceptionCaught.get(), "Scanner did not catch expected exception");
}
}
@Test
- public void testCloseInterruptMutation() throws Exception {
- final TableName tableName = name.getTableName();
+ public void testCloseInterruptMutation(TestInfo testInfo) throws Exception {
+ final TableName tableName = TableName.valueOf(testInfo.getTestMethod().get().getName());
final Admin admin = TEST_UTIL.getAdmin();
// Create the test table
HTableDescriptor htd = new HTableDescriptor(tableName);
@@ -223,9 +214,9 @@ public class TestRegionInterrupt {
inserter.join();
// When we get here the region has closed and the table is offline
- assertTrue("Region operations were not interrupted",
- InterruptInterceptingHRegion.wasInterrupted());
- assertTrue("Inserter did not catch expected exception", expectedExceptionCaught.get());
+ assertTrue(InterruptInterceptingHRegion.wasInterrupted(),
+ "Region operations were not interrupted");
+ assertTrue(expectedExceptionCaught.get(), "Inserter did not catch expected exception");
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
index 200386d1c7c..6a22e4d2e8d 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
@@ -17,10 +17,10 @@
*/
package org.apache.hadoop.hbase.regionserver;
-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;
@@ -34,7 +34,6 @@ import java.util.stream.Collectors;
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.MetaTableAccessor;
import org.apache.hadoop.hbase.MiniHBaseCluster;
@@ -73,13 +72,12 @@ import org.apache.hadoop.hbase.util.PairOfSameType;
import org.apache.hadoop.hbase.util.Threads;
import org.apache.hadoop.util.StringUtils;
import org.apache.zookeeper.KeeperException;
-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;
@@ -91,18 +89,14 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProto
import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRegionStateTransitionRequest;
import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportRegionStateTransitionResponse;
-@Category({ RegionServerTests.class, LargeTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(LargeTests.TAG)
public class TestRegionMergeTransactionOnCluster {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionMergeTransactionOnCluster.class);
-
private static final Logger LOG =
LoggerFactory.getLogger(TestRegionMergeTransactionOnCluster.class);
- @Rule
- public TestName name = new TestName();
+ private String methodName;
private static final int NB_SERVERS = 3;
@@ -121,7 +115,7 @@ public class TestRegionMergeTransactionOnCluster {
private static HMaster MASTER;
private static Admin ADMIN;
- @BeforeClass
+ @BeforeAll
public static void beforeAllTests() throws Exception {
// Start a cluster
StartMiniClusterOption option = StartMiniClusterOption.builder().masterClass(MyMaster.class)
@@ -133,7 +127,12 @@ public class TestRegionMergeTransactionOnCluster {
ADMIN = TEST_UTIL.getConnection().getAdmin();
}
- @AfterClass
+ @BeforeEach
+ public void setUp(TestInfo testInfo) {
+ methodName = testInfo.getTestMethod().get().getName();
+ }
+
+ @AfterAll
public static void afterAllTests() throws Exception {
TEST_UTIL.shutdownMiniCluster();
if (ADMIN != null) {
@@ -143,8 +142,8 @@ public class TestRegionMergeTransactionOnCluster {
@Test
public void testWholesomeMerge() throws Exception {
- LOG.info("Starting " + name.getMethodName());
- final TableName tableName = TableName.valueOf(name.getMethodName());
+ LOG.info("Starting " + methodName);
+ final TableName tableName = TableName.valueOf(methodName);
try {
// Create table and load data.
@@ -168,13 +167,13 @@ public class TestRegionMergeTransactionOnCluster {
// We should not be able to assign it again, but we are able to do it here. Assertions are
// poor here and missing that assign is possible here. Created HBASE-29692 for resolving this.
am.assign(hri);
- assertFalse("Merged region can't be assigned",
- am.getRegionStates().getRegionStateNode(hri).isTransitionScheduled());
+ assertFalse(am.getRegionStates().getRegionStateNode(hri).isTransitionScheduled(),
+ "Merged region can't be assigned");
// We should not be able to unassign it either
am.unassign(hri);
- assertFalse("Merged region can't be unassigned",
- am.getRegionStates().getRegionStateNode(hri).isTransitionScheduled());
+ assertFalse(am.getRegionStates().getRegionStateNode(hri).isTransitionScheduled(),
+ "Merged region can't be unassigned");
table.close();
} finally {
@@ -188,7 +187,7 @@ public class TestRegionMergeTransactionOnCluster {
*/
@Test
public void testMergeAndRestartingMaster() throws Exception {
- final TableName tableName = TableName.valueOf(name.getMethodName());
+ final TableName tableName = TableName.valueOf(methodName);
try {
// Create table and load data.
@@ -211,9 +210,9 @@ public class TestRegionMergeTransactionOnCluster {
@Test
public void testCleanMergeReference() throws Exception {
- LOG.info("Starting " + name.getMethodName());
+ LOG.info("Starting " + methodName);
ADMIN.enableCatalogJanitor(false);
- final TableName tableName = TableName.valueOf(name.getMethodName());
+ final TableName tableName = TableName.valueOf(methodName);
try {
// Create table and load data.
Table table = createTableAndLoadData(MASTER, tableName);
@@ -333,8 +332,8 @@ public class TestRegionMergeTransactionOnCluster {
*/
@Test
public void testMerge() throws Exception {
- LOG.info("Starting " + name.getMethodName());
- final TableName tableName = TableName.valueOf(name.getMethodName());
+ LOG.info("Starting " + methodName);
+ final TableName tableName = TableName.valueOf(methodName);
final Admin admin = TEST_UTIL.getAdmin();
final int syncWaitTimeout = 10 * 60000; // 10min
@@ -364,9 +363,8 @@ public class TestRegionMergeTransactionOnCluster {
.get(admin.mergeRegionsAsync(b.getEncodedNameAsBytes(), b.getEncodedNameAsBytes(), true));
fail("A region should not be able to merge with itself, even forcfully");
} catch (IOException ie) {
- assertTrue("Exception should mention regions not online",
- StringUtils.stringifyException(ie).contains("region to itself")
- && ie instanceof MergeRegionException);
+ assertTrue(StringUtils.stringifyException(ie).contains("region to itself")
+ && ie instanceof MergeRegionException, "Exception should mention regions not online");
}
try {
@@ -374,7 +372,7 @@ public class TestRegionMergeTransactionOnCluster {
admin.mergeRegionsAsync(Bytes.toBytes("-f1"), Bytes.toBytes("-f2"), true);
fail("Unknown region could not be merged");
} catch (IOException ie) {
- assertTrue("UnknownRegionException should be thrown", ie instanceof UnknownRegionException);
+ assertTrue(ie instanceof UnknownRegionException, "UnknownRegionException should be thrown");
}
table.close();
} finally {
@@ -384,7 +382,7 @@ public class TestRegionMergeTransactionOnCluster {
@Test
public void testMergeWithReplicas() throws Exception {
- final TableName tableName = TableName.valueOf(name.getMethodName());
+ final TableName tableName = TableName.valueOf(methodName);
try {
// Create table and load data.
Table table = createTableAndLoadData(MASTER, tableName, 5, 2);
@@ -486,7 +484,7 @@ public class TestRegionMergeTransactionOnCluster {
private Table createTableAndLoadData(HMaster master, TableName tablename, int numRegions,
int replication) throws Exception {
- assertTrue("ROWSIZE must > numregions:" + numRegions, ROWSIZE > numRegions);
+ assertTrue(ROWSIZE > numRegions, "ROWSIZE must > numregions:" + numRegions);
byte[][] splitRows = new byte[numRegions - 1][];
for (int i = 0; i < splitRows.length; i++) {
splitRows[i] = ROWS[(i + 1) * ROWSIZE / numRegions];
@@ -508,8 +506,8 @@ public class TestRegionMergeTransactionOnCluster {
LOG.info("All regions assigned for table - " + table.getName());
tableRegions =
MetaTableAccessor.getTableRegionsAndLocations(TEST_UTIL.getConnection(), tablename);
- assertEquals("Wrong number of regions in table " + tablename, numRegions * replication,
- tableRegions.size());
+ assertEquals(numRegions * replication, tableRegions.size(),
+ "Wrong number of regions in table " + tablename);
LOG.info(tableRegions.size() + "Regions after load: " + Joiner.on(',').join(tableRegions));
assertEquals(numRegions * replication, tableRegions.size());
return table;
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMove.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMove.java
index 2196a6fe943..ac8a68fa624 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMove.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMove.java
@@ -17,15 +17,14 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static junit.framework.TestCase.fail;
-import static org.junit.Assert.assertTrue;
+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.stream.Collectors;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.DoNotRetryIOException;
-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;
@@ -35,31 +34,19 @@ import org.apache.hadoop.hbase.client.RegionInfo;
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.Before;
-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.ExpectedException;
-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;
/**
* Test move fails when table disabled
*/
-@Category({ MediumTests.class })
+@Tag(MediumTests.TAG)
public class TestRegionMove {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionMove.class);
-
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
- @Rule
- public TestName name = new TestName();
private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
public static Configuration CONF;
protected static final String F1 = "f1";
@@ -68,20 +55,20 @@ public class TestRegionMove {
protected TableName tableName;
protected String method;
- @BeforeClass
+ @BeforeAll
public static void startCluster() throws Exception {
TEST_UTIL.startMiniCluster(2);
}
- @AfterClass
+ @AfterAll
public static void stopCluster() throws Exception {
TEST_UTIL.shutdownMiniCluster();
}
- @Before
- public void setup() throws IOException {
+ @BeforeEach
+ public void setup(TestInfo testInfo) throws IOException {
CONF = TEST_UTIL.getConfiguration();
- method = name.getMethodName();
+ method = testInfo.getTestMethod().get().getName();
tableName = TableName.valueOf(method);
}
@@ -110,8 +97,8 @@ public class TestRegionMove {
HRegionServer rs2 = TEST_UTIL.getOtherRegionServer(rs1);
List<RegionInfo> regionsOnRS1ForTable = admin.getRegions(rs1.getServerName()).stream()
.filter((regionInfo) -> regionInfo.getTable().equals(tableName)).collect(Collectors.toList());
- assertTrue("Expected to find at least one region for " + tableName + " on "
- + rs1.getServerName() + ", but found none", !regionsOnRS1ForTable.isEmpty());
+ assertTrue(!regionsOnRS1ForTable.isEmpty(), "Expected to find at least one region for "
+ + tableName + " on " + rs1.getServerName() + ", but found none");
final RegionInfo regionToMove = regionsOnRS1ForTable.get(0);
// Offline the region and then try to move it. Should fail.
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java
index 706864cfb8b..5b7312568e7 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java
@@ -17,8 +17,8 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
import java.io.IOException;
import java.util.List;
@@ -26,7 +26,6 @@ import java.util.concurrent.ThreadPoolExecutor;
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.HConstants;
@@ -42,38 +41,29 @@ import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.CommonFSUtils;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
-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, RegionServerTests.class })
+@Tag(MediumTests.TAG)
+@Tag(RegionServerTests.TAG)
public class TestRegionOpen {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionOpen.class);
-
- @SuppressWarnings("unused")
private static final Logger LOG = LoggerFactory.getLogger(TestRegionOpen.class);
private static final int NB_SERVERS = 1;
private static final HBaseTestingUtility HTU = new HBaseTestingUtility();
- @Rule
- public TestName name = new TestName();
-
- @BeforeClass
+ @BeforeAll
public static void before() throws Exception {
HTU.startMiniCluster(NB_SERVERS);
}
- @AfterClass
+ @AfterAll
public static void afterClass() throws Exception {
HTU.shutdownMiniCluster();
}
@@ -101,8 +91,8 @@ public class TestRegionOpen {
}
@Test
- public void testNonExistentRegionReplica() throws Exception {
- final TableName tableName = TableName.valueOf(name.getMethodName());
+ public void testNonExistentRegionReplica(TestInfo testInfo) throws Exception {
+ final TableName tableName = TableName.valueOf(testInfo.getTestMethod().get().getName());
final byte[] FAMILYNAME = Bytes.toBytes("fam");
FileSystem fs = HTU.getTestFileSystem();
Admin admin = HTU.getAdmin();
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicaFailover.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicaFailover.java
index c77a8d2d240..832cccad10b 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicaFailover.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicaFailover.java
@@ -17,14 +17,14 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
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.HTableDescriptor;
@@ -40,26 +40,20 @@ import org.apache.hadoop.hbase.testclassification.LargeTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread;
import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;
-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.jupiter.api.AfterEach;
+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;
/**
* Tests failover of secondary region replicas.
*/
-@Category(LargeTests.class)
+@Tag(LargeTests.TAG)
public class TestRegionReplicaFailover {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionReplicaFailover.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestRegionReplicaFailover.class);
private static final HBaseTestingUtility HTU = new HBaseTestingUtility();
@@ -74,13 +68,10 @@ public class TestRegionReplicaFailover {
protected final byte[] row = Bytes.toBytes("rowA");
protected final byte[] row2 = Bytes.toBytes("rowB");
- @Rule
- public TestName name = new TestName();
-
private HTableDescriptor htd;
- @Before
- public void before() throws Exception {
+ @BeforeEach
+ public void before(TestInfo testInfo) throws Exception {
Configuration conf = HTU.getConfiguration();
// Up the handlers; this test needs more than usual.
conf.setInt(HConstants.REGION_SERVER_HIGH_PRIORITY_HANDLER_COUNT, 10);
@@ -90,13 +81,13 @@ public class TestRegionReplicaFailover {
conf.setBoolean("hbase.tests.use.shortcircuit.reads", false);
HTU.startMiniCluster(NB_SERVERS);
- htd = HTU
- .createTableDescriptor(name.getMethodName().substring(0, name.getMethodName().length() - 3));
+ String name = testInfo.getTestMethod().get().getName();
+ htd = HTU.createTableDescriptor(TableName.valueOf(name.substring(0, name.length() - 3)));
htd.setRegionReplication(3);
HTU.getAdmin().createTable(htd);
}
- @After
+ @AfterEach
public void after() throws Exception {
HTU.deleteTableIfAny(htd.getTableName());
HTU.shutdownMiniCluster();
@@ -295,7 +286,7 @@ public class TestRegionReplicaFailover {
} catch (Throwable e) {
ex.compareAndSet(null, e);
}
- };
+ }
};
aborter.start();
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicaWaitForPrimaryFlushConf.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicaWaitForPrimaryFlushConf.java
index e90868dfc3f..3b95de10074 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicaWaitForPrimaryFlushConf.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicaWaitForPrimaryFlushConf.java
@@ -17,21 +17,19 @@
*/
package org.apache.hadoop.hbase.regionserver;
-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.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.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.StartMiniClusterOption;
import org.apache.hadoop.hbase.TableName;
-import org.apache.hadoop.hbase.TableNameTestRule;
import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
import org.apache.hadoop.hbase.client.TableDescriptor;
import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
@@ -41,28 +39,24 @@ import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.Pair;
import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;
-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({ RegionServerTests.class, 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(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRegionReplicaWaitForPrimaryFlushConf {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionReplicaWaitForPrimaryFlushConf.class);
private static final byte[] FAMILY = Bytes.toBytes("family_test");
private TableName tableName;
- @Rule
- public final TableNameTestRule name = new TableNameTestRule();
private static final HBaseTestingUtility HTU = new HBaseTestingUtility();
- @BeforeClass
+ @BeforeAll
public static void setUpBeforeClass() throws Exception {
Configuration conf = HTU.getConfiguration();
conf.setBoolean(ServerRegionReplicaUtil.REGION_REPLICA_REPLICATION_CONF_KEY, true);
@@ -71,11 +65,16 @@ public class TestRegionReplicaWaitForPrimaryFlushConf {
}
- @AfterClass
+ @AfterAll
public static void tearDownAfterClass() throws Exception {
HTU.shutdownMiniCluster();
}
+ @BeforeEach
+ public void setUp(TestInfo testInfo) {
+ tableName = TableName.valueOf(testInfo.getTestMethod().get().getName());
+ }
+
/**
* This test is for HBASE-26811,before HBASE-26811,when
* {@link ServerRegionReplicaUtil#REGION_REPLICA_WAIT_FOR_PRIMARY_FLUSH_CONF_KEY} is false and set
@@ -85,7 +84,6 @@ public class TestRegionReplicaWaitForPrimaryFlushConf {
*/
@Test
public void testSecondaryReplicaReadEnabled() throws Exception {
- tableName = name.getTableName();
TableDescriptor tableDescriptor = TableDescriptorBuilder.newBuilder(tableName)
.setRegionReplication(2).setColumnFamily(ColumnFamilyDescriptorBuilder.of(FAMILY))
.setRegionMemStoreReplication(true).build();
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicasAreDistributed.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicasAreDistributed.java
index e28e676e28d..d1d141278d9 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicasAreDistributed.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicasAreDistributed.java
@@ -17,7 +17,7 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.ArrayList;
@@ -25,7 +25,6 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.HTableDescriptor;
@@ -37,21 +36,17 @@ import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.RegionSplitter;
-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;
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRegionReplicasAreDistributed {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionReplicasAreDistributed.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestRegionReplicasAreDistributed.class);
private static final int NB_SERVERS = 3;
@@ -64,7 +59,7 @@ public class TestRegionReplicasAreDistributed {
Map<ServerName, Collection<RegionInfo>> serverVsOnlineRegions3;
Map<ServerName, Collection<RegionInfo>> serverVsOnlineRegions4;
- @BeforeClass
+ @BeforeAll
public static void before() throws Exception {
HTU.getConfiguration().setInt("hbase.master.wait.on.regionservers.mintostart", 3);
@@ -93,7 +88,7 @@ public class TestRegionReplicasAreDistributed {
return split.split(numRegions);
}
- @AfterClass
+ @AfterAll
public static void afterClass() throws Exception {
HRegionServer.TEST_SKIP_REPORTING_TRANSITION = false;
table.close();
@@ -123,7 +118,7 @@ public class TestRegionReplicasAreDistributed {
HTU.getAdmin().enableTable(table.getName());
LOG.info("Enabled the table " + table.getName());
boolean res = checkAndAssertRegionDistribution(true);
- assertTrue("Region retainment not done ", res);
+ assertTrue(res, "Region retainment not done ");
} finally {
HTU.getAdmin().disableTable(table.getName());
HTU.getAdmin().deleteTable(table.getName());
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicasWithModifyTable.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicasWithModifyTable.java
index 99f8eec269c..0b6c0ed7c7f 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicasWithModifyTable.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicasWithModifyTable.java
@@ -17,67 +17,64 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException;
-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.HBaseParameterizedTestTemplate;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.TableName;
-import org.apache.hadoop.hbase.TableNameTestRule;
import org.apache.hadoop.hbase.client.TableDescriptor;
import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.RegionSplitter;
-import org.junit.After;
-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.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
-
-@RunWith(Parameterized.class)
-@Category({ RegionServerTests.class, MediumTests.class })
+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.TestInfo;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.params.provider.Arguments;
+
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
+@HBaseParameterizedTestTemplate(name = "{index}: disableBeforeModifying={0}")
public class TestRegionReplicasWithModifyTable {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionReplicasWithModifyTable.class);
-
private static final int NB_SERVERS = 3;
private static final HBaseTestingUtility HTU = new HBaseTestingUtility();
private static final byte[] f = HConstants.CATALOG_FAMILY;
- @Parameter
- public boolean disableBeforeModifying;
+ private final boolean disableBeforeModifying;
+
+ private TableName tableName;
- @Rule
- public TableNameTestRule name = new TableNameTestRule();
+ public static Stream<Arguments> parameters() {
+ return Stream.of(Arguments.of(true), Arguments.of(false));
+ }
- @Parameters
- public static List<Object[]> params() {
- return Arrays.asList(new Object[] { true }, new Object[] { false });
+ public TestRegionReplicasWithModifyTable(boolean disableBeforeModifying) {
+ this.disableBeforeModifying = disableBeforeModifying;
}
- @BeforeClass
+ @BeforeAll
public static void before() throws Exception {
HTU.startMiniCluster(NB_SERVERS);
}
+ @BeforeEach
+ public void setUp(TestInfo testInfo) {
+ tableName = TableName.valueOf(testInfo.getTestMethod().get().getName());
+ }
+
private void enableReplicationByModification(boolean withReplica, int initialReplicaCount,
int enableReplicaCount, int splitCount) throws IOException, InterruptedException {
- TableName tableName = name.getTableName();
TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableName);
if (withReplica) {
builder.setRegionReplication(initialReplicaCount);
@@ -113,50 +110,49 @@ public class TestRegionReplicasWithModifyTable {
return split.split(numRegions);
}
- @AfterClass
+ @AfterAll
public static void afterClass() throws Exception {
HTU.shutdownMiniCluster();
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
- TableName tableName = name.getTableName();
HTU.getAdmin().disableTable(tableName);
HTU.getAdmin().deleteTable(tableName);
}
private void assertTotalRegions(int expected) {
- int actual = HTU.getHBaseCluster().getRegions(name.getTableName()).size();
+ int actual = HTU.getHBaseCluster().getRegions(tableName).size();
assertEquals(expected, actual);
}
- @Test
+ @TestTemplate
public void testRegionReplicasUsingEnableTable() throws Exception {
enableReplicationByModification(false, 0, 3, 0);
}
- @Test
+ @TestTemplate
public void testRegionReplicasUsingEnableTableForMultipleRegions() throws Exception {
enableReplicationByModification(false, 0, 3, 10);
}
- @Test
+ @TestTemplate
public void testRegionReplicasByEnableTableWhenReplicaCountIsIncreased() throws Exception {
enableReplicationByModification(true, 2, 3, 0);
}
- @Test
+ @TestTemplate
public void testRegionReplicasByEnableTableWhenReplicaCountIsDecreased() throws Exception {
enableReplicationByModification(true, 3, 2, 0);
}
- @Test
+ @TestTemplate
public void testRegionReplicasByEnableTableWhenReplicaCountIsDecreasedWithMultipleRegions()
throws Exception {
enableReplicationByModification(true, 3, 2, 20);
}
- @Test
+ @TestTemplate
public void testRegionReplicasByEnableTableWhenReplicaCountIsIncreasedWithMultipleRegions()
throws Exception {
enableReplicationByModification(true, 2, 3, 15);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicasWithRestartScenarios.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicasWithRestartScenarios.java
index 524c02e3530..97f8ebdc52f 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicasWithRestartScenarios.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicasWithRestartScenarios.java
@@ -17,13 +17,14 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.*;
+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.ArrayList;
import java.util.Collection;
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.ServerName;
@@ -36,31 +37,22 @@ import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.RegionSplitter;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-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.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({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRegionReplicasWithRestartScenarios {
-
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionReplicasWithRestartScenarios.class);
-
private static final Logger LOG =
LoggerFactory.getLogger(TestRegionReplicasWithRestartScenarios.class);
- @Rule
- public TestName name = new TestName();
-
private static final int NB_SERVERS = 3;
private Table table;
private TableName tableName;
@@ -68,19 +60,19 @@ public class TestRegionReplicasWithRestartScenarios {
private static final HBaseTestingUtility HTU = new HBaseTestingUtility();
private static final byte[] f = HConstants.CATALOG_FAMILY;
- @BeforeClass
+ @BeforeAll
public static void beforeClass() throws Exception {
HTU.getConfiguration().setInt("hbase.master.wait.on.regionservers.mintostart", NB_SERVERS);
HTU.startMiniCluster(NB_SERVERS);
}
- @Before
- public void before() throws IOException {
- this.tableName = TableName.valueOf(this.name.getMethodName());
+ @BeforeEach
+ public void before(TestInfo testInfo) throws IOException {
+ this.tableName = TableName.valueOf(testInfo.getTestMethod().get().getName());
this.table = createTableDirectlyFromHTD(this.tableName);
}
- @After
+ @AfterEach
public void after() throws IOException {
this.table.close();
HTU.deleteTable(this.tableName);
@@ -100,7 +92,7 @@ public class TestRegionReplicasWithRestartScenarios {
return split.split(numRegions);
}
- @AfterClass
+ @AfterAll
public static void afterClass() throws Exception {
HTU.shutdownMiniCluster();
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerAbort.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerAbort.java
index 60fbd27f76f..4100536ec0c 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerAbort.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerAbort.java
@@ -17,10 +17,10 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-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.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;
@@ -32,7 +32,6 @@ import java.util.concurrent.atomic.AtomicInteger;
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.HConstants;
import org.apache.hadoop.hbase.MiniHBaseCluster;
@@ -64,24 +63,20 @@ import org.apache.hadoop.hbase.wal.WAL;
import org.apache.hadoop.hbase.wal.WALEdit;
import org.apache.hadoop.hdfs.DFSConfigKeys;
import org.apache.hadoop.hdfs.MiniDFSCluster;
-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;
/**
* Tests around regionserver shutdown and abort
*/
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRegionServerAbort {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionServerAbort.class);
-
private static final byte[] FAMILY_BYTES = Bytes.toBytes("f");
private static final Logger LOG = LoggerFactory.getLogger(TestRegionServerAbort.class);
@@ -91,7 +86,7 @@ public class TestRegionServerAbort {
private MiniDFSCluster dfsCluster;
private MiniHBaseCluster cluster;
- @Before
+ @BeforeEach
public void setup() throws Exception {
testUtil = new HBaseTestingUtility();
conf = testUtil.getConfiguration();
@@ -111,7 +106,7 @@ public class TestRegionServerAbort {
cluster = testUtil.startMiniHBaseCluster(option);
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
String className = StopBlockingRegionObserver.class.getName();
for (JVMClusterUtil.RegionServerThread t : cluster.getRegionServerThreads()) {
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerAbortTimeout.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerAbortTimeout.java
index f0a513bddcc..d0757626d3a 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerAbortTimeout.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerAbortTimeout.java
@@ -17,14 +17,13 @@
*/
package org.apache.hadoop.hbase.regionserver;
-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.util.Optional;
import java.util.TimerTask;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.StartMiniClusterOption;
import org.apache.hadoop.hbase.TableName;
@@ -42,21 +41,17 @@ import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
import org.apache.hadoop.hbase.util.Threads;
-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;
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRegionServerAbortTimeout {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionServerAbortTimeout.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestRegionServerAbortTimeout.class);
private static final HBaseTestingUtility UTIL = new HBaseTestingUtility();
@@ -73,7 +68,7 @@ public class TestRegionServerAbortTimeout {
private static volatile boolean abortTimeoutTaskScheduled = false;
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
Configuration conf = UTIL.getConfiguration();
// Will schedule a abort timeout task after SLEEP_TIME_WHEN_CLOSE_REGION ms
@@ -87,7 +82,7 @@ public class TestRegionServerAbortTimeout {
UTIL.getAdmin().createTable(td, Bytes.toBytes("0"), Bytes.toBytes("9"), REGIONS_NUM);
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
UTIL.shutdownMiniCluster();
}
@@ -115,7 +110,7 @@ public class TestRegionServerAbortTimeout {
long timeout = REGIONS_NUM * SLEEP_TIME_WHEN_CLOSE_REGION * 10;
while (EnvironmentEdgeManager.currentTime() - startTime < timeout) {
if (UTIL.getMiniHBaseCluster().getLiveRegionServerThreads().size() == 1) {
- assertTrue("Abort timer task should be scheduled", abortTimeoutTaskScheduled);
+ assertTrue(abortTimeoutTaskScheduled, "Abort timer task should be scheduled");
return;
}
Threads.sleep(SLEEP_TIME_WHEN_CLOSE_REGION);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerAccounting.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerAccounting.java
index 5870ea27661..7d9772ee5ef 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerAccounting.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerAccounting.java
@@ -17,30 +17,24 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.io.util.MemorySizeUtil;
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;
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
public class TestRegionServerAccounting {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionServerAccounting.class);
-
private final static float DEFAULT_MEMSTORE_SIZE = 0.2f;
private static Configuration conf;
- @Before
+ @BeforeEach
public void setUpConf() {
conf = HBaseConfiguration.create();
conf.setFloat(MemorySizeUtil.MEMSTORE_SIZE_KEY, DEFAULT_MEMSTORE_SIZE);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerCrashDisableWAL.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerCrashDisableWAL.java
index b2add22b1a0..9bc68502d0b 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerCrashDisableWAL.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerCrashDisableWAL.java
@@ -17,10 +17,9 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Get;
@@ -33,22 +32,18 @@ import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread;
import org.apache.hadoop.hbase.wal.WALFactory;
-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;
/**
* Testcase for HBASE-20742
*/
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRegionServerCrashDisableWAL {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionServerCrashDisableWAL.class);
-
private static final HBaseTestingUtility UTIL = new HBaseTestingUtility();
private static TableName TABLE_NAME = TableName.valueOf("test");
@@ -57,7 +52,7 @@ public class TestRegionServerCrashDisableWAL {
private static byte[] CQ = Bytes.toBytes("cq");
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
UTIL.getConfiguration().setInt(ServerManager.WAIT_ON_REGIONSERVERS_MINTOSTART, 1);
UTIL.getConfiguration().setBoolean(WALFactory.WAL_ENABLED, false);
@@ -74,7 +69,7 @@ public class TestRegionServerCrashDisableWAL {
UTIL.getAdmin().balancerSwitch(false, true);
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
UTIL.shutdownMiniCluster();
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.java
index 3e4269a6d27..044c8185ba0 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.java
@@ -17,10 +17,11 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-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.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
import java.net.InetAddress;
import java.net.NetworkInterface;
@@ -29,7 +30,6 @@ import java.util.Enumeration;
import java.util.List;
import java.util.Locale;
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.StartMiniClusterOption;
@@ -39,24 +39,20 @@ import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.DNS;
import org.apache.hadoop.hbase.zookeeper.ZKUtil;
import org.apache.hadoop.hbase.zookeeper.ZKWatcher;
-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;
/**
* Tests for the hostname specification by region server
*/
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRegionServerHostname {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionServerHostname.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestRegionServerHostname.class);
private HBaseTestingUtility TEST_UTIL;
@@ -64,13 +60,13 @@ public class TestRegionServerHostname {
private static final int NUM_MASTERS = 1;
private static final int NUM_RS = 1;
- @Before
+ @BeforeEach
public void setup() {
Configuration conf = HBaseConfiguration.create();
TEST_UTIL = new HBaseTestingUtility(conf);
}
- @After
+ @AfterEach
public void teardown() throws Exception {
TEST_UTIL.shutdownMiniCluster();
}
@@ -83,10 +79,10 @@ public class TestRegionServerHostname {
try {
hrs = new HRegionServer(TEST_UTIL.getConfiguration());
} catch (IllegalArgumentException iae) {
- assertTrue(iae.getMessage(), iae.getMessage().contains("Failed resolve of " + invalidHostname)
- || iae.getMessage().contains("Problem binding to " + invalidHostname));
+ assertTrue(iae.getMessage().contains("Failed resolve of " + invalidHostname)
+ || iae.getMessage().contains("Problem binding to " + invalidHostname), iae.getMessage());
}
- assertNull("Failed to validate against invalid hostname", hrs);
+ assertNull(hrs, "Failed to validate against invalid hostname");
}
@Test
@@ -117,8 +113,8 @@ public class TestRegionServerHostname {
assertTrue(servers.size()
== NUM_RS + (LoadBalancer.isTablesOnMaster(TEST_UTIL.getConfiguration()) ? 1 : 0));
for (String server : servers) {
- assertTrue("From zookeeper: " + server + " hostname: " + hostName,
- server.startsWith(hostName.toLowerCase(Locale.ROOT) + ","));
+ assertTrue(server.startsWith(hostName.toLowerCase(Locale.ROOT) + ","),
+ "From zookeeper: " + server + " hostname: " + hostName);
}
zkw.close();
} finally {
@@ -182,14 +178,16 @@ public class TestRegionServerHostname {
} catch (Exception e) {
Throwable t1 = e.getCause();
Throwable t2 = t1.getCause();
- assertTrue(t1.getMessage() + " - " + t2.getMessage(),
- t2.getMessage().contains(HRegionServer.UNSAFE_RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY
- + " and " + DNS.UNSAFE_RS_HOSTNAME_KEY + " are mutually exclusive"));
+ assertTrue(
+ t2.getMessage()
+ .contains(HRegionServer.UNSAFE_RS_HOSTNAME_DISABLE_MASTER_REVERSEDNS_KEY + " and "
+ + DNS.UNSAFE_RS_HOSTNAME_KEY + " are mutually exclusive"),
+ t1.getMessage() + " - " + t2.getMessage());
return;
} finally {
TEST_UTIL.shutdownMiniCluster();
}
- assertTrue("Failed to validate against conflict hostname configurations", false);
+ fail("Failed to validate against conflict hostname configurations");
}
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.java
index 5f75391f0e2..c051c0f2cca 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.java
@@ -17,10 +17,10 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-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.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.ArrayList;
@@ -28,7 +28,6 @@ import java.util.List;
import java.util.Optional;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.CompatibilityFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HConstants;
@@ -65,31 +64,23 @@ import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
import org.apache.hadoop.hbase.util.Threads;
-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.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.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;
-@Category({ RegionServerTests.class, LargeTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(LargeTests.TAG)
public class TestRegionServerMetrics {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionServerMetrics.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestRegionServerMetrics.class);
- @Rule
- public TestName testName = new TestName();
-
private static MetricsAssertHelper metricsHelper;
private static MiniHBaseCluster cluster;
private static HRegionServer rs;
@@ -107,7 +98,7 @@ public class TestRegionServerMetrics {
private static Admin admin;
private static boolean TABLES_ON_MASTER;
- @BeforeClass
+ @BeforeAll
public static void startCluster() throws Exception {
metricsHelper = CompatibilityFactory.getInstance(MetricsAssertHelper.class);
TEST_UTIL = new HBaseTestingUtility();
@@ -139,7 +130,7 @@ public class TestRegionServerMetrics {
serverSource = metricsRegionServer.getMetricsSource();
}
- @AfterClass
+ @AfterAll
public static void after() throws Exception {
if (TEST_UTIL != null) {
TEST_UTIL.shutdownMiniCluster();
@@ -149,14 +140,14 @@ public class TestRegionServerMetrics {
TableName tableName;
Table table;
- @Before
- public void beforeTestMethod() throws Exception {
+ @BeforeEach
+ public void beforeTestMethod(TestInfo testInfo) throws Exception {
metricsRegionServer.getRegionServerWrapper().forceRecompute();
- tableName = TableName.valueOf(testName.getMethodName());
+ tableName = TableName.valueOf(testInfo.getTestMethod().get().getName());
table = TEST_UTIL.createTable(tableName, cf);
}
- @After
+ @AfterEach
public void afterTestMethod() throws Exception {
admin.disableTable(tableName);
admin.deleteTable(tableName);
@@ -571,7 +562,7 @@ public class TestRegionServerMetrics {
}
@Test
- @Ignore
+ @Disabled
public void testRangeCountMetrics() throws Exception {
final long[] timeranges =
{ 1, 3, 10, 30, 100, 300, 1000, 3000, 10000, 30000, 60000, 120000, 300000, 600000 };
@@ -641,14 +632,14 @@ public class TestRegionServerMetrics {
TEST_UTIL.getAdmin().flush(tableName);
metricsRegionServer.getRegionServerWrapper().forceRecompute();
- assertTrue("Total read bytes should be larger than 0",
- metricsRegionServer.getRegionServerWrapper().getTotalBytesRead() > 0);
- assertTrue("Total local read bytes should be larger than 0",
- metricsRegionServer.getRegionServerWrapper().getLocalBytesRead() > 0);
- assertEquals("Total short circuit read bytes should be equal to 0", 0,
- metricsRegionServer.getRegionServerWrapper().getShortCircuitBytesRead());
- assertEquals("Total zero-byte read bytes should be equal to 0", 0,
- metricsRegionServer.getRegionServerWrapper().getZeroCopyBytesRead());
+ assertTrue(metricsRegionServer.getRegionServerWrapper().getTotalBytesRead() > 0,
+ "Total read bytes should be larger than 0");
+ assertTrue(metricsRegionServer.getRegionServerWrapper().getLocalBytesRead() > 0,
+ "Total local read bytes should be larger than 0");
+ assertEquals(0, metricsRegionServer.getRegionServerWrapper().getShortCircuitBytesRead(),
+ "Total short circuit read bytes should be equal to 0");
+ assertEquals(0, metricsRegionServer.getRegionServerWrapper().getZeroCopyBytesRead(),
+ "Total zero-byte read bytes should be equal to 0");
}
@Test
@@ -657,14 +648,14 @@ public class TestRegionServerMetrics {
metricsRegionServer.getRegionServerWrapper().forceRecompute();
HRegion region = rs.getRegions(tableName).get(0);
- assertNotNull("Region should exist", region);
+ assertNotNull(region, "Region should exist");
try (MetricsRegionWrapperImpl wrapper = new MetricsRegionWrapperImpl(region)) {
String hash = wrapper.getTableDescriptorHash();
- assertNotNull("TableDescriptorHash should not be null", hash);
- assertNotEquals("TableDescriptorHash should not be 'UNKNOWN'", "UNKNOWN", hash);
- assertEquals("Hash should be 8 characters (CRC32 hex)", 8, hash.length());
+ assertNotNull(hash, "TableDescriptorHash should not be null");
+ assertNotEquals("UNKNOWN", hash, "TableDescriptorHash should not be 'UNKNOWN'");
+ assertEquals(8, hash.length(), "Hash should be 8 characters (CRC32 hex)");
}
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerNoMaster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerNoMaster.java
index 0a3cf332d15..348ccab8934 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerNoMaster.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerNoMaster.java
@@ -17,8 +17,13 @@
*/
package org.apache.hadoop.hbase.regionserver;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+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 org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.HRegionInfo;
@@ -38,12 +43,10 @@ import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.JVMClusterUtil;
import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread;
import org.apache.hadoop.hbase.util.Threads;
-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;
@@ -55,13 +58,10 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegion
/**
* Tests on the region server, without the master.
*/
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRegionServerNoMaster {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionServerNoMaster.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestRegionServerNoMaster.class);
private static final int NB_SERVERS = 1;
private static Table table;
@@ -72,7 +72,7 @@ public class TestRegionServerNoMaster {
private static byte[] regionName;
private static final HBaseTestingUtility HTU = new HBaseTestingUtility();
- @BeforeClass
+ @BeforeAll
public static void before() throws Exception {
HTU.startMiniCluster(NB_SERVERS);
final TableName tableName = TableName.valueOf(TestRegionServerNoMaster.class.getSimpleName());
@@ -131,7 +131,7 @@ public class TestRegionServerNoMaster {
throw new IOException("Region to flush cannot be found");
}
- @AfterClass
+ @AfterAll
public static void afterClass() throws Exception {
HRegionServer.TEST_SKIP_REPORTING_TRANSITION = false;
if (table != null) {
@@ -150,8 +150,8 @@ public class TestRegionServerNoMaster {
RequestConverter.buildOpenRegionRequest(rs.getServerName(), hri, null);
AdminProtos.OpenRegionResponse responseOpen = rs.rpcServices.openRegion(null, orr);
- Assert.assertTrue(responseOpen.getOpeningStateCount() == 1);
- Assert.assertTrue(responseOpen.getOpeningState(0)
+ assertEquals(1, responseOpen.getOpeningStateCount());
+ assertTrue(responseOpen.getOpeningState(0)
.equals(AdminProtos.OpenRegionResponse.RegionOpeningState.OPENED));
checkRegionIsOpened(HTU, rs, hri);
@@ -163,7 +163,7 @@ public class TestRegionServerNoMaster {
Thread.sleep(1);
}
- Assert.assertTrue(rs.getRegion(hri.getRegionName()).isAvailable());
+ assertTrue(rs.getRegion(hri.getRegionName()).isAvailable());
}
public static void closeRegion(HBaseTestingUtility HTU, HRegionServer rs, HRegionInfo hri)
@@ -171,7 +171,7 @@ public class TestRegionServerNoMaster {
AdminProtos.CloseRegionRequest crr =
ProtobufUtil.buildCloseRegionRequest(rs.getServerName(), hri.getRegionName());
AdminProtos.CloseRegionResponse responseClose = rs.rpcServices.closeRegion(null, crr);
- Assert.assertTrue(responseClose.getClosed());
+ assertTrue(responseClose.getClosed());
checkRegionIsClosed(HTU, rs, hri);
}
@@ -182,7 +182,7 @@ public class TestRegionServerNoMaster {
}
try {
- Assert.assertFalse(rs.getRegion(hri.getRegionName()).isAvailable());
+ assertFalse(rs.getRegion(hri.getRegionName()).isAvailable());
} catch (NotServingRegionException expected) {
// That's how it work: if the region is closed we have an exception.
}
@@ -196,7 +196,7 @@ public class TestRegionServerNoMaster {
AdminProtos.CloseRegionRequest crr =
ProtobufUtil.buildCloseRegionRequest(getRS().getServerName(), regionName);
AdminProtos.CloseRegionResponse responseClose = getRS().rpcServices.closeRegion(null, crr);
- Assert.assertTrue(responseClose.getClosed());
+ assertTrue(responseClose.getClosed());
// now waiting & checking. After a while, the transition should be done and the region closed
checkRegionIsClosed(HTU, getRS(), hri);
@@ -215,10 +215,10 @@ public class TestRegionServerNoMaster {
ProtobufUtil.buildCloseRegionRequest(getRS().getServerName(), regionName, null);
try {
AdminProtos.CloseRegionResponse responseClose = getRS().rpcServices.closeRegion(null, crr);
- Assert.assertTrue("request " + i + " failed",
- responseClose.getClosed() || responseClose.hasClosed());
+ assertTrue(responseClose.getClosed() || responseClose.hasClosed(),
+ "request " + i + " failed");
} catch (org.apache.hbase.thirdparty.com.google.protobuf.ServiceException se) {
- Assert.assertTrue("The next queries may throw an exception.", i > 0);
+ assertTrue(i > 0, "The next queries may throw an exception.");
}
}
@@ -242,14 +242,12 @@ public class TestRegionServerNoMaster {
// That's a close without ZK.
AdminProtos.CloseRegionRequest crr =
ProtobufUtil.buildCloseRegionRequest(getRS().getServerName(), regionName);
- try {
+ assertThrows(org.apache.hbase.thirdparty.com.google.protobuf.ServiceException.class, () -> {
getRS().rpcServices.closeRegion(null, crr);
- Assert.assertTrue(false);
- } catch (org.apache.hbase.thirdparty.com.google.protobuf.ServiceException expected) {
- }
+ });
// The state in RIT should have changed to close
- Assert.assertEquals(Boolean.FALSE,
+ assertEquals(Boolean.FALSE,
getRS().getRegionsInTransitionInRS().get(hri.getEncodedNameAsBytes()));
// Let's start the open handler
@@ -269,7 +267,7 @@ public class TestRegionServerNoMaster {
*/
@Test
public void testOpenCloseRegionRPCIntendedForPreviousServer() throws Exception {
- Assert.assertTrue(getRS().getRegion(regionName).isAvailable());
+ assertTrue(getRS().getRegion(regionName).isAvailable());
ServerName sn = getRS().getServerName();
ServerName earlierServerName = ServerName.valueOf(sn.getHostname(), sn.getPort(), 1);
@@ -278,10 +276,10 @@ public class TestRegionServerNoMaster {
CloseRegionRequest request =
ProtobufUtil.buildCloseRegionRequest(earlierServerName, regionName);
getRS().getRSRpcServices().closeRegion(null, request);
- Assert.fail("The closeRegion should have been rejected");
+ fail("The closeRegion should have been rejected");
} catch (org.apache.hbase.thirdparty.com.google.protobuf.ServiceException se) {
- Assert.assertTrue(se.getCause() instanceof IOException);
- Assert.assertTrue(
+ assertTrue(se.getCause() instanceof IOException);
+ assertTrue(
se.getCause().getMessage().contains("This RPC was intended for a different server"));
}
@@ -291,10 +289,10 @@ public class TestRegionServerNoMaster {
AdminProtos.OpenRegionRequest orr =
RequestConverter.buildOpenRegionRequest(earlierServerName, hri, null);
getRS().getRSRpcServices().openRegion(null, orr);
- Assert.fail("The openRegion should have been rejected");
+ fail("The openRegion should have been rejected");
} catch (org.apache.hbase.thirdparty.com.google.protobuf.ServiceException se) {
- Assert.assertTrue(se.getCause() instanceof IOException);
- Assert.assertTrue(
+ assertTrue(se.getCause() instanceof IOException);
+ assertTrue(
se.getCause().getMessage().contains("This RPC was intended for a different server"));
} finally {
openRegion(HTU, getRS(), hri);
@@ -304,6 +302,6 @@ public class TestRegionServerNoMaster {
@Test
public void testInstallShutdownHook() {
// Test for HBASE-26977
- Assert.assertTrue(HTU.getMiniHBaseCluster().getRegionServer(0).isShutdownHookInstalled());
+ assertTrue(HTU.getMiniHBaseCluster().getRegionServer(0).isShutdownHookInstalled());
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerOnlineConfigChange.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerOnlineConfigChange.java
index de6f926f71a..d15b38627f2 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerOnlineConfigChange.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerOnlineConfigChange.java
@@ -17,14 +17,13 @@
*/
package org.apache.hadoop.hbase.regionserver;
-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.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 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.HRegionInfo;
@@ -38,11 +37,10 @@ import org.apache.hadoop.hbase.master.HMaster;
import org.apache.hadoop.hbase.regionserver.compactions.CompactionConfiguration;
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.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;
@@ -51,13 +49,9 @@ import org.slf4j.LoggerFactory;
* add tests for important configurations which will be changed online.
*/
-@Category({ MediumTests.class })
+@Tag(MediumTests.TAG)
public class TestRegionServerOnlineConfigChange {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionServerOnlineConfigChange.class);
-
private static final Logger LOG =
LoggerFactory.getLogger(TestRegionServerOnlineConfigChange.class.getName());
private static HBaseTestingUtility hbaseTestingUtility = new HBaseTestingUtility();
@@ -75,8 +69,8 @@ public class TestRegionServerOnlineConfigChange {
private final static byte[] COLUMN_FAMILY1 = Bytes.toBytes(columnFamily1Str);
private final static long MAX_FILE_SIZE = 20 * 1024 * 1024L;
- @BeforeClass
- public static void setUp() throws Exception {
+ @BeforeAll
+ public static void setUpBeforeClass() throws Exception {
conf = hbaseTestingUtility.getConfiguration();
hbaseTestingUtility.startMiniCluster();
t1 = hbaseTestingUtility.createTable(
@@ -92,7 +86,7 @@ public class TestRegionServerOnlineConfigChange {
}
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
hbaseTestingUtility.shutdownMiniCluster();
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.java
index a090f330885..a0fd939d289 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.java
@@ -17,8 +17,8 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
import java.io.IOException;
import java.util.Collection;
@@ -30,7 +30,6 @@ import java.util.Map;
import java.util.Optional;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.ClusterMetrics.Option;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.RegionLoad;
import org.apache.hadoop.hbase.ServerLoad;
@@ -61,23 +60,18 @@ import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
import org.apache.hadoop.hbase.master.LoadBalancer;
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.Ignore;
-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.Disabled;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Ignore // Depends on Master being able to host regions. Needs fixing.
-@Category(MediumTests.class)
+@Disabled // Depends on Master being able to host regions. Needs fixing.
+@Tag(MediumTests.TAG)
public class TestRegionServerReadRequestMetrics {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionServerReadRequestMetrics.class);
-
private static final Logger LOG =
LoggerFactory.getLogger(TestRegionServerReadRequestMetrics.class);
private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
@@ -107,7 +101,7 @@ public class TestRegionServerReadRequestMetrics {
private static Map<Metric, Long> requestsMap = new HashMap<>();
private static Map<Metric, Long> requestsMapPrev = new HashMap<>();
- @BeforeClass
+ @BeforeAll
public static void setUpOnce() throws Exception {
// Default starts one regionserver only.
TEST_UTIL.getConfiguration().setBoolean(LoadBalancer.TABLES_ON_MASTER, true);
@@ -119,7 +113,7 @@ public class TestRegionServerReadRequestMetrics {
table = createTable();
putData();
List<RegionInfo> regions = admin.getRegions(TABLE_NAME);
- assertEquals("Table " + TABLE_NAME + " should have 1 region", 1, regions.size());
+ assertEquals(1, regions.size(), "Table " + TABLE_NAME + " should have 1 region");
regionInfo = regions.get(0);
for (Metric metric : Metric.values()) {
@@ -256,7 +250,7 @@ public class TestRegionServerReadRequestMetrics {
table.put(put);
}
- @AfterClass
+ @AfterAll
public static void tearDownOnce() throws Exception {
TEST_UTIL.shutdownMiniCluster();
}
@@ -329,7 +323,7 @@ public class TestRegionServerReadRequestMetrics {
testReadRequests(resultCount, 1, 0);
}
- @Ignore // HBASE-19785
+ @Disabled // HBASE-19785
@Test
public void testReadRequestsCountWithFilter() throws Exception {
int resultCount;
@@ -376,7 +370,7 @@ public class TestRegionServerReadRequestMetrics {
// testReadRequests(resultCount, 0, 1);
}
- @Ignore // HBASE-19785
+ @Disabled // HBASE-19785
@Test
public void testReadRequestsCountWithDeletedRow() throws Exception {
try {
@@ -414,7 +408,7 @@ public class TestRegionServerReadRequestMetrics {
}
}
- @Ignore // See HBASE-19785
+ @Disabled // See HBASE-19785
@Test
public void testReadRequestsWithCoprocessor() throws Exception {
TableName tableName = TableName.valueOf("testReadRequestsWithCoprocessor");
@@ -426,7 +420,7 @@ public class TestRegionServerReadRequestMetrics {
try {
TEST_UTIL.waitTableAvailable(tableName);
List<RegionInfo> regionInfos = admin.getRegions(tableName);
- assertEquals("Table " + TABLE_NAME + " should have 1 region", 1, regionInfos.size());
+ assertEquals(1, regionInfos.size(), "Table " + TABLE_NAME + " should have 1 region");
boolean success = true;
int i = 0;
for (; i < MAX_TRY; i++) {
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerRegionSpaceUseReport.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerRegionSpaceUseReport.java
index 2ce0f0fa61e..b8451c360e1 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerRegionSpaceUseReport.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerRegionSpaceUseReport.java
@@ -17,15 +17,14 @@
*/
package org.apache.hadoop.hbase.regionserver;
-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 static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.Mockito.doCallRealMethod;
import static org.mockito.Mockito.mock;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.RegionInfo;
import org.apache.hadoop.hbase.client.RegionInfoBuilder;
@@ -34,9 +33,8 @@ import org.apache.hadoop.hbase.quotas.RegionSizeStore;
import org.apache.hadoop.hbase.quotas.RegionSizeStoreFactory;
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.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionSpaceUse;
@@ -46,13 +44,9 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProto
* Test class for isolated (non-cluster) tests surrounding the report of Region space use to the
* Master by RegionServers.
*/
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
public class TestRegionServerRegionSpaceUseReport {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionServerRegionSpaceUseReport.class);
-
@Test
public void testConversion() {
TableName tn = TableName.valueOf("table1");
@@ -78,9 +72,9 @@ public class TestRegionServerRegionSpaceUseReport {
for (RegionSpaceUse spaceUse : requests.getSpaceUseList()) {
RegionInfo hri = ProtobufUtil.toRegionInfo(spaceUse.getRegionInfo());
RegionSize expectedSize = store.remove(hri);
- assertNotNull("Could not find size for HRI: " + hri, expectedSize);
+ assertNotNull(expectedSize, "Could not find size for HRI: " + hri);
assertEquals(expectedSize.getSize(), spaceUse.getRegionSize());
}
- assertTrue("Should not have any space use entries left: " + store, store.isEmpty());
+ assertTrue(store.isEmpty(), "Should not have any space use entries left: " + store);
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerRejectDuringAbort.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerRejectDuringAbort.java
index c7f910431e8..c0254064f3c 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerRejectDuringAbort.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerRejectDuringAbort.java
@@ -17,14 +17,13 @@
*/
package org.apache.hadoop.hbase.regionserver;
-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.Optional;
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.HRegionLocation;
@@ -53,21 +52,17 @@ import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.JVMClusterUtil;
import org.apache.hadoop.hbase.util.Threads;
-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;
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRegionServerRejectDuringAbort {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionServerRejectDuringAbort.class);
-
private static final Logger LOG =
LoggerFactory.getLogger(TestRegionServerRejectDuringAbort.class);
@@ -83,7 +78,7 @@ public class TestRegionServerRejectDuringAbort {
private static volatile boolean shouldThrowTooBig = false;
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
// Will schedule a abort timeout task after SLEEP_TIME_WHEN_CLOSE_REGION ms
UTIL.getConfiguration().set("hbase.ipc.server.callqueue.type", "pluggable");
@@ -113,7 +108,7 @@ public class TestRegionServerRejectDuringAbort {
}
}
- @AfterClass
+ @AfterAll
public static void tearDown() throws Exception {
UTIL.shutdownMiniCluster();
}
@@ -142,8 +137,8 @@ public class TestRegionServerRejectDuringAbort {
}
}
- assertNotNull("couldn't find a server without meta, but with test table regions",
- serverWithoutMeta);
+ assertNotNull(serverWithoutMeta,
+ "couldn't find a server without meta, but with test table regions");
Thread writer = new Thread(getWriterThreadRunnable(serverWithoutMeta.getServerName()));
writer.setDaemon(true);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReportForDuty.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReportForDuty.java
index c088aa83dde..a1088eb8590 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReportForDuty.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReportForDuty.java
@@ -18,10 +18,12 @@
package org.apache.hadoop.hbase.regionserver;
import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.allOf;
import static org.hamcrest.Matchers.hasItem;
import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.io.StringWriter;
@@ -31,7 +33,6 @@ import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import org.apache.commons.lang3.StringUtils;
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.LocalHBaseCluster;
@@ -50,23 +51,18 @@ import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread;
import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread;
import org.apache.hadoop.hbase.util.Threads;
import org.apache.zookeeper.KeeperException;
-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;
import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder;
-@Category(LargeTests.class)
+@Tag(LargeTests.TAG)
public class TestRegionServerReportForDuty {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionServerReportForDuty.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestRegionServerReportForDuty.class);
private static final long SLEEP_INTERVAL = 500;
@@ -78,7 +74,7 @@ public class TestRegionServerReportForDuty {
private MasterThread master;
private MasterThread backupMaster;
- @Before
+ @BeforeEach
public void setUp() throws Exception {
testUtil = new HBaseTestingUtility();
testUtil.startMiniDFSCluster(1);
@@ -87,7 +83,7 @@ public class TestRegionServerReportForDuty {
cluster = new LocalHBaseCluster(testUtil.getConfiguration(), 0, 0);
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
cluster.shutdown();
cluster.join();
@@ -159,10 +155,10 @@ public class TestRegionServerReportForDuty {
// Following asserts the actual retry number is in range (expectedRetry/2, expectedRetry*2).
// Ideally we can assert the exact retry count. We relax here to tolerate contention error.
int expectedRetry = (int) Math.ceil(Math.log(interval - msginterval));
- assertTrue(String.format("reportForDuty retries %d times, less than expected min %d", count,
- expectedRetry / 2), count > expectedRetry / 2);
- assertTrue(String.format("reportForDuty retries %d times, more than expected max %d", count,
- expectedRetry * 2), count < expectedRetry * 2);
+ assertTrue(count > expectedRetry / 2, String.format(
+ "reportForDuty retries %d times, less than expected min %d", count, expectedRetry / 2));
+ assertTrue(count < expectedRetry * 2, String.format(
+ "reportForDuty retries %d times, more than expected max %d", count, expectedRetry * 2));
}
/**
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerScan.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerScan.java
index 0c0ac56d625..d85bb9e34bc 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerScan.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerScan.java
@@ -17,14 +17,13 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.Optional;
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.MiniHBaseCluster.MiniHBaseClusterRegionServer;
@@ -43,13 +42,10 @@ import org.apache.hadoop.hbase.ipc.RpcServer;
import org.apache.hadoop.hbase.testclassification.LargeTests;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
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.Tag;
+import org.junit.jupiter.api.Test;
import org.apache.hbase.thirdparty.com.google.protobuf.RpcController;
import org.apache.hbase.thirdparty.com.google.protobuf.ServiceException;
@@ -57,14 +53,9 @@ import org.apache.hbase.thirdparty.com.google.protobuf.ServiceException;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanRequest;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse;
-@Category({ RegionServerTests.class, LargeTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(LargeTests.TAG)
public class TestRegionServerScan {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionServerScan.class);
-
- @Rule
- public TestName name = new TestName();
private static final byte[] CF = Bytes.toBytes("CF");
private static final byte[] CQ = Bytes.toBytes("CQ");
@@ -78,7 +69,7 @@ public class TestRegionServerScan {
static final byte[] r1 = Bytes.toBytes("row-1");
static final byte[] r2 = Bytes.toBytes("row-2");
- @BeforeClass
+ @BeforeAll
public static void setupBeforeClass() throws Exception {
/**
* Use {@link DeallocateRewriteByteBuffAllocator} to rewrite the bytebuffers right after
@@ -104,7 +95,7 @@ public class TestRegionServerScan {
admin = TEST_UTIL.getAdmin();
}
- @AfterClass
+ @AfterAll
public static void tearDownAfterClass() throws Exception {
TEST_UTIL.shutdownMiniCluster();
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerUseIp.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerUseIp.java
index 6c390fee9a5..b321ea1a410 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerUseIp.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerUseIp.java
@@ -17,11 +17,10 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.net.InetAddress;
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;
@@ -29,19 +28,16 @@ import org.apache.hadoop.hbase.MiniHBaseCluster;
import org.apache.hadoop.hbase.StartMiniClusterOption;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
-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({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRegionServerUseIp {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionServerUseIp.class);
private static final Logger LOG = LoggerFactory.getLogger(TestRegionServerUseIp.class);
@@ -51,7 +47,7 @@ public class TestRegionServerUseIp {
private static final int NUM_MASTERS = 1;
private static final int NUM_RS = 1;
- @Before
+ @BeforeEach
public void setup() throws Exception {
Configuration conf = HBaseConfiguration.create();
conf.setBoolean(HConstants.HBASE_SERVER_USEIP_ENABLED_KEY, true);
@@ -61,7 +57,7 @@ public class TestRegionServerUseIp {
CLUSTER = TEST_UTIL.startMiniCluster(option);
}
- @After
+ @AfterEach
public void teardown() throws Exception {
TEST_UTIL.shutdownMiniCluster();
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionSplitPolicy.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionSplitPolicy.java
index ba481c89ff3..c0c211b606e 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionSplitPolicy.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionSplitPolicy.java
@@ -17,10 +17,10 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-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.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -30,7 +30,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.TableName;
@@ -42,24 +41,20 @@ import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
-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({ RegionServerTests.class, SmallTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(SmallTests.TAG)
public class TestRegionSplitPolicy {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionSplitPolicy.class);
-
private Configuration conf;
private HRegion mockRegion;
private List<HStore> stores;
private static final TableName TABLENAME = TableName.valueOf("t");
- @Before
+ @BeforeEach
public void setupMocks() {
conf = HBaseConfiguration.create();
RegionInfo hri = RegionInfoBuilder.newBuilder(TABLENAME).build();
@@ -281,9 +276,9 @@ public class TestRegionSplitPolicy {
}
private void assertWithinJitter(long maxSplitSize, long sizeToCheck) {
- assertTrue("Size greater than lower bound of jitter",
- (long) (maxSplitSize * 0.75) <= sizeToCheck);
- assertTrue("Size less than upper bound of jitter", (long) (maxSplitSize * 1.25) >= sizeToCheck);
+ assertTrue((long) (maxSplitSize * 0.75) <= sizeToCheck,
+ "Size greater than lower bound of jitter");
+ assertTrue((long) (maxSplitSize * 1.25) >= sizeToCheck, "Size less than upper bound of jitter");
}
@Test
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionSplitRestriction.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionSplitRestriction.java
index 890cf45bbe7..2730ccbae51 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionSplitRestriction.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionSplitRestriction.java
@@ -17,36 +17,32 @@
*/
package org.apache.hadoop.hbase.regionserver;
-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.when;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.client.TableDescriptor;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Bytes;
-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.Mock;
import org.mockito.MockitoAnnotations;
-@Category({ RegionServerTests.class, SmallTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(SmallTests.TAG)
public class TestRegionSplitRestriction {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRegionSplitRestriction.class);
-
Configuration conf;
+
@Mock
TableDescriptor tableDescriptor;
- @Before
+ @BeforeEach
public void setup() {
MockitoAnnotations.initMocks(this);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRemoveRegionMetrics.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRemoveRegionMetrics.java
index 85c831901b8..24abbe4080f 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRemoveRegionMetrics.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRemoveRegionMetrics.java
@@ -20,7 +20,6 @@ package org.apache.hadoop.hbase.regionserver;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.CompatibilityFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.HRegionInfo;
@@ -36,29 +35,21 @@ import org.apache.hadoop.hbase.testclassification.LargeTests;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.Threads;
-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({ RegionServerTests.class, LargeTests.class })
-public class TestRemoveRegionMetrics {
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRemoveRegionMetrics.class);
+@Tag(RegionServerTests.TAG)
+@Tag(LargeTests.TAG)
+public class TestRemoveRegionMetrics {
private static MiniHBaseCluster cluster;
private static Configuration conf;
private static HBaseTestingUtility TEST_UTIL;
private static MetricsAssertHelper metricsHelper;
- @Rule
- public TestName name = new TestName();
-
- @BeforeClass
+ @BeforeAll
public static void startCluster() throws Exception {
metricsHelper = CompatibilityFactory.getInstance(MetricsAssertHelper.class);
TEST_UTIL = new HBaseTestingUtility();
@@ -79,8 +70,8 @@ public class TestRemoveRegionMetrics {
}
@Test
- public void testMoveRegion() throws IOException, InterruptedException {
- String tableNameString = name.getMethodName();
+ public void testMoveRegion(TestInfo testInfo) throws IOException, InterruptedException {
+ String tableNameString = testInfo.getTestMethod().get().getName();
TableName tableName = TableName.valueOf(tableNameString);
Table t = TEST_UTIL.createTable(tableName, Bytes.toBytes("D"));
TEST_UTIL.waitUntilAllRegionsAssigned(t.getName());
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRequestsPerSecondMetric.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRequestsPerSecondMetric.java
index f68b58b5e48..1e3a92d8646 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRequestsPerSecondMetric.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRequestsPerSecondMetric.java
@@ -17,9 +17,10 @@
*/
package org.apache.hadoop.hbase.regionserver;
+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.ServerName;
@@ -28,35 +29,30 @@ import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
-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;
/**
* Validate requestsPerSecond metric.
*/
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRequestsPerSecondMetric {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRequestsPerSecondMetric.class);
-
private static final HBaseTestingUtility UTIL = new HBaseTestingUtility();
private static final long METRICS_PERIOD = 2000L;
private static Configuration conf;
- @BeforeClass
+ @BeforeAll
public static void setup() throws Exception {
conf = UTIL.getConfiguration();
conf.setLong(HConstants.REGIONSERVER_METRICS_PERIOD, METRICS_PERIOD);
UTIL.startMiniCluster(1);
}
- @AfterClass
+ @AfterAll
public static void teardown() throws Exception {
UTIL.shutdownMiniCluster();
}
@@ -90,6 +86,6 @@ public class TestRequestsPerSecondMetric {
admin.disableTable(TABLENAME);
Thread.sleep(METRICS_PERIOD);
metricsServer.run();
- Assert.assertTrue(metricsWrapper.getRequestsPerSecond() > -1);
+ assertTrue(metricsWrapper.getRequestsPerSecond() > -1);
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestResettingCounters.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestResettingCounters.java
index e66f9e67973..3d565a92a9b 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestResettingCounters.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestResettingCounters.java
@@ -17,8 +17,8 @@
*/
package org.apache.hadoop.hbase.regionserver;
-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 org.apache.hadoop.conf.Configuration;
@@ -26,7 +26,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.HConstants;
@@ -39,29 +38,21 @@ import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
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({ RegionServerTests.class, SmallTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(SmallTests.TAG)
public class TestResettingCounters {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestResettingCounters.class);
-
- @Rule
- public TestName name = new TestName();
-
@Test
- public void testResettingCounters() throws Exception {
+ public void testResettingCounters(TestInfo testInfo) throws Exception {
HBaseTestingUtility htu = new HBaseTestingUtility();
Configuration conf = htu.getConfiguration();
FileSystem fs = FileSystem.get(conf);
- byte[] table = Bytes.toBytes(name.getMethodName());
+ byte[] table = Bytes.toBytes(testInfo.getTestMethod().get().getName());
byte[][] families =
new byte[][] { Bytes.toBytes("family1"), Bytes.toBytes("family2"), Bytes.toBytes("family3") };
int numQualifiers = 10;
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestReversibleScanners.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestReversibleScanners.java
index df32897876c..c5be39a10e1 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestReversibleScanners.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestReversibleScanners.java
@@ -17,9 +17,9 @@
*/
package org.apache.hadoop.hbase.regionserver;
-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.ArrayList;
@@ -31,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.CellComparatorImpl;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HConstants;
@@ -58,12 +57,10 @@ import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
import org.apache.hadoop.hbase.util.Pair;
-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.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;
@@ -72,13 +69,10 @@ import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
/**
* Test cases against ReversibleKeyValueScanner
*/
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestReversibleScanners {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestReversibleScanners.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestReversibleScanners.class);
HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
@@ -95,10 +89,7 @@ public class TestReversibleScanners {
private static final int VALUESIZE = 3;
private static byte[][] VALUES = makeN(VALUE, VALUESIZE);
- @Rule
- public TestName name = new TestName();
-
- @BeforeClass
+ @BeforeAll
public static void setUp() {
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null,
MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
@@ -313,10 +304,11 @@ public class TestReversibleScanners {
}
@Test
- public void testReversibleRegionScanner() throws IOException {
+ public void testReversibleRegionScanner(TestInfo testInfo) throws IOException {
byte[] FAMILYNAME2 = Bytes.toBytes("testCf2");
- HTableDescriptor htd = new HTableDescriptor(TableName.valueOf(name.getMethodName()))
- .addFamily(new HColumnDescriptor(FAMILYNAME)).addFamily(new HColumnDescriptor(FAMILYNAME2));
+ HTableDescriptor htd =
+ new HTableDescriptor(TableName.valueOf(testInfo.getTestMethod().get().getName()))
+ .addFamily(new HColumnDescriptor(FAMILYNAME)).addFamily(new HColumnDescriptor(FAMILYNAME2));
HRegion region = TEST_UTIL.createLocalHRegion(htd, null, null);
loadDataToRegion(region, FAMILYNAME2);
@@ -437,8 +429,8 @@ public class TestReversibleScanners {
kvCount += kvList.size();
if (lastResult != null) {
Result curResult = Result.create(kvList);
- assertEquals("LastResult:" + lastResult + "CurResult:" + curResult, forward,
- Bytes.compareTo(curResult.getRow(), lastResult.getRow()) > 0);
+ assertEquals(forward, Bytes.compareTo(curResult.getRow(), lastResult.getRow()) > 0,
+ "LastResult:" + lastResult + "CurResult:" + curResult);
}
lastResult = Result.create(kvList);
kvList.clear();
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRowPrefixBloomFilter.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRowPrefixBloomFilter.java
index b77fae0677d..497a13609ce 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRowPrefixBloomFilter.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRowPrefixBloomFilter.java
@@ -17,9 +17,9 @@
*/
package org.apache.hadoop.hbase.regionserver;
-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 static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -27,7 +27,6 @@ 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.HBaseTestingUtility;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
@@ -47,26 +46,20 @@ import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.ChecksumType;
import org.apache.hadoop.hbase.util.CommonFSUtils;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
-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.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;
/**
* Test TestRowPrefixBloomFilter
*/
-@Category({ RegionServerTests.class, SmallTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(SmallTests.TAG)
public class TestRowPrefixBloomFilter {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRowPrefixBloomFilter.class);
-
private static final Logger LOG = LoggerFactory.getLogger(TestRowPrefixBloomFilter.class);
private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
private CacheConfig cacheConf = new CacheConfig(TEST_UTIL.getConfiguration());
@@ -87,10 +80,7 @@ public class TestRowPrefixBloomFilter {
private static final int fixedLengthExpKeys = prefixRowCount;
private static final BloomType bt = BloomType.ROWPREFIX_FIXED_LENGTH;
- @Rule
- public TestName name = new TestName();
-
- @Before
+ @BeforeEach
public void setUp() throws Exception {
conf = TEST_UTIL.getConfiguration();
conf.setFloat(BloomFilterFactory.IO_STOREFILE_BLOOM_ERROR_RATE, err);
@@ -117,7 +107,7 @@ public class TestRowPrefixBloomFilter {
}
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
try {
if (localfs) {
@@ -241,10 +231,10 @@ public class TestRowPrefixBloomFilter {
}
reader.close(true); // evict because we are about to delete the file
fs.delete(f, true);
- assertEquals("False negatives: " + falseNeg, 0, falseNeg);
+ assertEquals(0, falseNeg, "False negatives: " + falseNeg);
int maxFalsePos = (int) (2 * expErr);
- assertTrue("Too many false positives: " + falsePos + " (err=" + err + ", expected no more than "
- + maxFalsePos + ")", falsePos <= maxFalsePos);
+ assertTrue(falsePos <= maxFalsePos, "Too many false positives: " + falsePos + " (err=" + err
+ + ", expected no more than " + maxFalsePos + ")");
}
@Test
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRowTooBig.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRowTooBig.java
index ade5a5be55b..b324afd2ac2 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRowTooBig.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRowTooBig.java
@@ -17,9 +17,10 @@
*/
package org.apache.hadoop.hbase.regionserver;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
import java.io.IOException;
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.HConstants;
@@ -32,36 +33,32 @@ import org.apache.hadoop.hbase.client.RowTooBigException;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
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;
/**
* Test case to check HRS throws {@link org.apache.hadoop.hbase.client.RowTooBigException} when row
* size exceeds configured limits.
*/
-@Category({ RegionServerTests.class, MediumTests.class })
+@Tag(RegionServerTests.TAG)
+@Tag(MediumTests.TAG)
public class TestRowTooBig {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRowTooBig.class);
-
private final static HBaseTestingUtility HTU = HBaseTestingUtility.createLocalHTU();
private static Path rootRegionDir;
private static final HTableDescriptor TEST_HTD =
new HTableDescriptor(TableName.valueOf(TestRowTooBig.class.getSimpleName()));
- @BeforeClass
+ @BeforeAll
public static void before() throws Exception {
HTU.startMiniCluster();
HTU.getConfiguration().setLong(HConstants.TABLE_MAX_ROWSIZE_KEY, 10 * 1024 * 1024L);
rootRegionDir = HTU.getDataTestDirOnTestFS("TestRowTooBig");
}
- @AfterClass
+ @AfterAll
public static void after() throws Exception {
HTU.shutdownMiniCluster();
}
@@ -72,7 +69,7 @@ public class TestRowTooBig {
* but during seeking, as each StoreFile gets it's own scanner, and each scanner seeks after the
* first KV.
*/
- @Test(expected = RowTooBigException.class)
+ @Test
public void testScannersSeekOnFewLargeCells() throws IOException {
byte[] row1 = Bytes.toBytes("row1");
byte[] fam1 = Bytes.toBytes("fam1");
@@ -101,7 +98,7 @@ public class TestRowTooBig {
}
Get get = new Get(row1);
- region.get(get);
+ assertThrows(RowTooBigException.class, () -> region.get(get));
} finally {
HBaseTestingUtility.closeRegionAndWAL(region);
}
@@ -111,7 +108,7 @@ public class TestRowTooBig {
* Usecase: - create a row with 1M cells, 10 bytes in each - flush & run major compaction - try to
* Get whole row. OOME happened in StoreScanner.next(..).
*/
- @Test(expected = RowTooBigException.class)
+ @Test
public void testScanAcrossManySmallColumns() throws IOException {
byte[] row1 = Bytes.toBytes("row1");
byte[] fam1 = Bytes.toBytes("fam1");
@@ -142,7 +139,7 @@ public class TestRowTooBig {
region.compact(true);
Get get = new Get(row1);
- region.get(get);
+ assertThrows(RowTooBigException.class, () -> region.get(get));
} finally {
HBaseTestingUtility.closeRegionAndWAL(region);
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRpcSchedulerFactory.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRpcSchedulerFactory.java
index 17f0dc3a783..0cef202502f 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRpcSchedulerFactory.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRpcSchedulerFactory.java
@@ -17,10 +17,9 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import static org.junit.Assert.assertTrue;
+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.HBaseConfiguration;
import org.apache.hadoop.hbase.ipc.FifoRpcScheduler;
import org.apache.hadoop.hbase.ipc.RWQueueRpcExecutor;
@@ -28,29 +27,20 @@ import org.apache.hadoop.hbase.ipc.RpcExecutor;
import org.apache.hadoop.hbase.ipc.RpcScheduler;
import org.apache.hadoop.hbase.ipc.SimpleRpcScheduler;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-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;
/**
* A silly test that does nothing but make sure an rpcscheduler factory makes what it says it is
* going to make.
*/
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
public class TestRpcSchedulerFactory {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRpcSchedulerFactory.class);
-
- @Rule
- public TestName testName = new TestName();
private Configuration conf;
- @Before
+ @BeforeEach
public void setUp() throws Exception {
this.conf = HBaseConfiguration.create();
}