HBASE-30124 Upgrade hbase-server to use junit5 Part14#8201
Open
liuxiaocs7 wants to merge 1 commit intoapache:branch-2from
Open
HBASE-30124 Upgrade hbase-server to use junit5 Part14#8201liuxiaocs7 wants to merge 1 commit intoapache:branch-2from
liuxiaocs7 wants to merge 1 commit intoapache:branch-2from
Conversation
Member
liuxiaocs7
commented
May 7, 2026
- for branch-2
- see: HBASE-30124
There was a problem hiding this comment.
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, andorg.junit.Assertusages with JUnit5@BeforeEach/@AfterEach/@BeforeAll/@AfterAll,@Tag, andorg.junit.jupiter.api.Assertions. - Migrate several parameterized tests from JUnit4
Parameterizedrunner to@HBaseParameterizedTestTemplate+@TestTemplate+parameters()streams. - Update test utilities/extensions usage in JUnit5 contexts (e.g.,
TableNameTestRule→TableNameTestExtension).
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.
update address comments
b3be303 to
d8741d1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.