Skip to content

HBASE-30124 Upgrade hbase-server to use junit5 Part14#8201

Merged
liuxiaocs7 merged 1 commit into
apache:branch-2from
liuxiaocs7:HBASE-30124-branch-2
May 9, 2026
Merged

HBASE-30124 Upgrade hbase-server to use junit5 Part14#8201
liuxiaocs7 merged 1 commit into
apache:branch-2from
liuxiaocs7:HBASE-30124-branch-2

Conversation

@liuxiaocs7
Copy link
Copy Markdown
Member

@liuxiaocs7 liuxiaocs7 requested a review from Copilot May 7, 2026 06:52
@liuxiaocs7 liuxiaocs7 added the backport This PR is a back port of some issue or issues already committed to master label May 7, 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-2 migration of hbase-server tests from JUnit4 to JUnit Jupiter (JUnit5) as part of HBASE-30124, updating assertions/annotations, categories→tags, and converting parameterized tests to use HBase’s @HBaseParameterizedTestTemplate infrastructure.

Changes:

  • Replace JUnit4 @Before/@After/@BeforeClass/@AfterClass, @Category, and org.junit.Assert usages with JUnit5 @BeforeEach/@AfterEach/@BeforeAll/@AfterAll, @Tag, and org.junit.jupiter.api.Assertions.
  • Migrate several parameterized tests from JUnit4 Parameterized runner to @HBaseParameterizedTestTemplate + @TestTemplate + parameters() streams.
  • Update test utilities/extensions usage in JUnit5 contexts (e.g., TableNameTestRuleTableNameTestExtension).

Reviewed changes

Copilot reviewed 73 out of 73 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/WALDurabilityTestBase.java JUnit5 lifecycle + TestInfo-based test naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALSyncTimeoutException.java JUnit5 assertions/tags/lifecycle conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALReplayValueCompression.java JUnit5 tags; refactor to extend AbstractTestWALReplay and override WAL creation.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALReplayCompressed.java Same as above, for WAL compression mode.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALReplayBoundedLogWriterCreation.java Same as above, bounded writer creation variant.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALReplay.java JUnit5 tags/lifecycle; adds reusable createFSHLog helper.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALEdit.java JUnit5 assertions/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALConfiguration.java Convert to @HBaseParameterizedTestTemplate + @TestTemplate.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALCellCodecWithCompression.java Convert to @HBaseParameterizedTestTemplate; template-based parameterized execution.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.java JUnit5 lifecycle + tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestSyncFutureCache.java JUnit5 assertions/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestSyncFuture.java JUnit5 assertThrows conversion for exception assertions.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestSequenceIdAccounting.java JUnit5 assertions/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestSecureWALReplay.java JUnit5 tags; refactor to AbstractTestWALReplay and override WAL creation.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestSecureAsyncWALReplay.java JUnit5 tags/lifecycle conversion for async WAL replay w/ encryption.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestProtobufLog.java JUnit5 tags conversion for protobuf log tests.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWAL.java JUnit5 lifecycle + TestInfo-based naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollPeriod.java JUnit5 tags/lifecycle; explicit base setup invocation.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollingNoCluster.java JUnit5 assertions/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.java JUnit5 tags/lifecycle conversion and assertion message modernization.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.java JUnit5 conversion (currently uses @TestTemplate).
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.java Convert to @HBaseParameterizedTestTemplate and JUnit5 assumptions/lifecycle.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestFSWALEntry.java JUnit5 assertions/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestFSHLogDurability.java JUnit5 tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestFSHLog.java JUnit5 lifecycle + TestInfo-based naming and assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestDurability.java Convert to @HBaseParameterizedTestTemplate + @TestTemplate execution.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestCustomWALCellCodec.java JUnit5 assertThrows conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestCompressor.java JUnit5 assertThrows conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncWALReplayValueCompression.java JUnit5 tags/lifecycle conversion; explicit base setup invocation.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncWALReplayCompressed.java Same as above for compressed WAL replay.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncWALReplay.java JUnit5 lifecycle conversion; guards base @BeforeAll to avoid double setup for subclasses.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncProtobufLog.java JUnit5 lifecycle/tags conversion with safer shutdown.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncLogRollPeriod.java JUnit5 tags/lifecycle; explicit base setup invocation.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncLogRolling.java JUnit5 tags/lifecycle conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncFSWALRollStuck.java JUnit5 lifecycle/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncFSWALDurability.java JUnit5 lifecycle/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncFSWAL.java JUnit5 lifecycle/tags conversion with safer shutdown.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/AbstractTestWALReplay.java JUnit5 lifecycle + TestInfo-based naming in base replay tests.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/AbstractTestProtobufLog.java JUnit5 lifecycle + TestInfo-based naming in base protobuf log tests.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/AbstractTestLogRollPeriod.java JUnit5 lifecycle conversion of teardown; base setup is now helper-style.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/AbstractTestLogRolling.java JUnit5 lifecycle + TestInfo-based naming in base log-rolling tests.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/AbstractTestFSWAL.java JUnit5 lifecycle + TestInfo-based naming in base FSWAL tests.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/throttle/TestStoreHotnessProtector.java JUnit5 assertions/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/throttle/TestFlushWithThroughputController.java JUnit5 lifecycle + TestInfo naming conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/throttle/TestCompactionWithThroughputController.java JUnit5 assertions/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/storefiletracker/TestStoreFileTrackerValidationUtils.java JUnit5 assertions/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/storefiletracker/TestStoreFileTrackerFactory.java JUnit5 assertions/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/storefiletracker/TestStoreFileListFilePrinter.java JUnit5 lifecycle + TableNameTestExtension migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/storefiletracker/TestStoreFileListFile.java JUnit5 lifecycle + TestInfo naming conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/storefiletracker/TestRegionWithFileBasedStoreFileTracker.java JUnit5 lifecycle + TestInfo naming conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/storefiletracker/TestMigrationStoreFileTracker.java Convert to @HBaseParameterizedTestTemplate + @TestTemplate.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/storefiletracker/TestChangeStoreFileTracker.java JUnit5 assertThrows conversion + TableNameTestExtension.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/TestUserScanQueryMatcher.java JUnit5 assertions/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/TestScanWildcardColumnTracker.java JUnit5 assertions/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/TestScanDeleteTracker.java JUnit5 lifecycle/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/TestNewVersionBehaviorTracker.java JUnit5 assertions/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/TestExplicitColumnTracker.java JUnit5 assertions/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/TestCompactionScanQueryMatcher.java JUnit5 assertions/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/AbstractTestScanQueryMatcher.java JUnit5 @BeforeEach conversion in base matcher tests.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/metrics/TestMetricsThrottleExceptions.java JUnit5 lifecycle/tags conversion; keeps registry cleanup.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/http/TestRSStatusPage.java JUnit5 lifecycle/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestStripeCompactor.java Convert to @HBaseParameterizedTestTemplate + @TestTemplate.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestStripeCompactionPolicy.java Convert to @HBaseParameterizedTestTemplate + @TestTemplate.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestRowKeyDateTieringValueProvider.java JUnit5 assertThrows + lifecycle conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestOffPeakHours.java JUnit5 lifecycle/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestFIFOCompactionPolicy.java Replace ExpectedException with JUnit5 assertThrows and message assertions.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestDateTieredCompactor.java Convert to @HBaseParameterizedTestTemplate + @TestTemplate.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestCustomCellTieredCompactor.java JUnit5 lifecycle/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestCurrentHourProvider.java JUnit5 assertions/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestCompactor.java JUnit5 assertions conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestCompactedHFilesDischarger.java JUnit5 lifecycle/tags conversion and assertion message modernization.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestCloseChecker.java JUnit5 assertions/tags conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/PerfTestCompactionPolicies.java Convert to @HBaseParameterizedTestTemplate + @TestTemplate for explicit perf-style test runs.

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

@liuxiaocs7 liuxiaocs7 force-pushed the HBASE-30124-branch-2 branch from b3be303 to d8741d1 Compare May 8, 2026 19:24
@liuxiaocs7 liuxiaocs7 merged commit 91bbe01 into apache:branch-2 May 9, 2026
28 of 30 checks passed
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