Skip to content

HBASE-30138 Upgrade hbase-server to use junit5 Part16#8271

Open
liuxiaocs7 wants to merge 1 commit into
apache:branch-3from
liuxiaocs7:HBASE-30138-branch-3
Open

HBASE-30138 Upgrade hbase-server to use junit5 Part16#8271
liuxiaocs7 wants to merge 1 commit into
apache:branch-3from
liuxiaocs7:HBASE-30138-branch-3

Conversation

@liuxiaocs7
Copy link
Copy Markdown
Member

@liuxiaocs7 liuxiaocs7 requested a review from Copilot May 23, 2026 13:33
@liuxiaocs7 liuxiaocs7 added the backport This PR is a back port of some issue or issues already committed to master label May 23, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR continues the branch-3 migration for HBASE-30138 by converting a large set of hbase-server regionserver tests from JUnit4 to JUnit5, including updates to assertions, lifecycle annotations, tagging, and parameterized test infrastructure.

Changes:

  • Migrated test classes from JUnit4 (@Before/@After/@Category/@RunWith, Rules) to JUnit5 (@BeforeEach/@AfterEach/@Tag, extensions).
  • Converted parameterized tests to @HBaseParameterizedTestTemplate + @TestTemplate with Stream<Arguments> providers.
  • Updated assertion imports/usages to org.junit.jupiter.api.Assertions and adjusted assertion message parameter ordering.

Reviewed changes

Copilot reviewed 51 out of 51 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestNotCleanupCompactedFileWhenRegionWarmup.java JUnit5 lifecycle/tag migration and assertion modernization.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestNewVersionBehaviorFromClientSide.java JUnit5 conversion; replaces TestName rule with TestInfo-derived name.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMutateRowsRecovery.java JUnit5 lifecycle/tag migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiVersionConcurrencyControlBasic.java JUnit5 tagging and assertions migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiVersionConcurrencyControl.java JUnit5 tagging and assertions migration (drops JUnit4 Assert).
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java Converts JUnit4 parameterized test to @HBaseParameterizedTestTemplate + @TestTemplate.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScannerWithNoneAndUseDataEncoding.java Converts parameterized subclass to JUnit5 template + constructor injection.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScannerWithNoneAndNoDataEncoding.java Converts parameterized subclass to JUnit5 template + constructor injection.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScannerWithAlgoGZAndUseDataEncoding.java Converts parameterized subclass to JUnit5 template + constructor injection.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScannerWithAlgoGZAndNoDataEncoding.java Converts parameterized subclass to JUnit5 template + constructor injection.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java Refactors base parameter generation to Stream<Arguments> and uses @TestTemplate.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMinVersions.java JUnit5 conversion; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMinorCompaction.java JUnit5 conversion; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMiniBatchOperationInProgress.java JUnit5 tagging and assertions migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsUserAggregate.java JUnit5 lifecycle/tag migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsTableRequests.java JUnit5 conversion and adds @AfterEach cleanup for global metric registry.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsTableMetricsMap.java JUnit5 lifecycle/tag migration and assertion modernization.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsTableAggregate.java JUnit5 lifecycle/tag migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionWrapperTableDescriptorHash.java JUnit5 lifecycle/tag migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServerAggregate.java JUnit5 tagging and assertions migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.java JUnit5 lifecycle/tag migration and registry cleanup maintained.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegion.java JUnit5 tagging and assertions migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsJvm.java JUnit5 conversion; modernizes assertions and lifecycle annotations.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsHeapMemoryManager.java JUnit5 lifecycle/tag migration and assertion modernization.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMergesSplitsAddToTracker.java Migrates JUnit4 rule to TableNameTestExtension and JUnit5 lifecycle.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreSegmentsIterator.java JUnit5 lifecycle/tag migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemstoreLABWithoutPool.java Migrates @Ignore to @Disabled and converts to JUnit5.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreLAB.java JUnit5 conversion; updates assertions and lifecycle annotations.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreFlusher.java JUnit5 conversion; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java JUnit5 lifecycle/tag migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMaxResultsPerColumnFamily.java JUnit5 conversion; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMajorCompaction.java Converts parameterization to @HBaseParameterizedTestTemplate + @TestTemplate.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestLogRoller.java JUnit5 lifecycle/tag migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueScanFixture.java JUnit5 tagging and assertions migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.java JUnit5 assertions migration (including assertThrows).
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeepDeletes.java JUnit5 conversion; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestJoinedScanners.java JUnit5 conversion; replaces expected-exception style with assertThrows.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestIsDeleteFailure.java JUnit5 conversion; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestInputStreamBlockDistribution.java JUnit5 lifecycle/tag migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHStoreFile.java JUnit5 conversion; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHStore.java JUnit5 conversion; replaces TestName with TestInfo and converts timeout to @Timeout.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionWithInMemoryFlush.java JUnit5 tagging and assertions migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionTracing.java JUnit5 migration using OpenTelemetryExtension and TableNameTestExtension.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.java Converts JUnit4 parameterized test to @HBaseParameterizedTestTemplate + @TestTemplate.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java JUnit5 conversion; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionOnCluster.java JUnit5 conversion; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionFileSystem.java JUnit5 conversion; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java Large JUnit5 conversion: lifecycle, assertions, disabled tests, and exception assertions.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHMobStore.java JUnit5 conversion; replaces TestName with TestInfo and assertion imports.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.java JUnit5 tagging and assertions migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHdfsSnapshotHRegion.java JUnit5 lifecycle/tag migration and assertion modernization.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

get.setTimestamp(ts - 3);
result = region.get(get);
Assert.assertEquals(result.getColumnCells(c0, c0).size(), 0);
assertEquals(result.getColumnCells(c0, c0).size(), 0);
get.setTimeRange(0, ts - 2);
result = region.get(get);
Assert.assertEquals(result.getColumnCells(c0, c0).size(), 0);
assertEquals(result.getColumnCells(c0, c0).size(), 0);
s.reseek(k);

assertNotNull("Intial reseek should position at the beginning of the file", s.peek());
assertNotNull(s.peek(), "Intial reseek should position at the beginning of the file");
rsm.getRegionServerWrapper());
assertNotNull(rsm.getMetricsSource(), "There should be a hadoop1/hadoop2 metrics source");
assertNotNull(rsm.getRegionServerWrapper(),
"The RegionServerMetricsWrapper should be accessable");

int metricsMapSize = agg.getMetricsRegistry().getMetricsMap().size();
assertTrue("table metrics added then metricsMapSize should larger than 0", metricsMapSize > 0);
assertTrue(metricsMapSize > 0, "table metrics added then metricsMapSize should larger than 0");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport This PR is a back port of some issue or issues already committed to master

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants