HBASE-30124 Upgrade hbase-server to use junit5 Part14#8210
Open
liuxiaocs7 wants to merge 1 commit intoapache:branch-2.5from
Open
HBASE-30124 Upgrade hbase-server to use junit5 Part14#8210liuxiaocs7 wants to merge 1 commit intoapache:branch-2.5from
liuxiaocs7 wants to merge 1 commit intoapache:branch-2.5from
Conversation
Member
liuxiaocs7
commented
May 8, 2026
- for branch-2.5
- see: HBASE-30124
There was a problem hiding this comment.
Pull request overview
This PR continues the branch-2.5 test-suite migration for HBASE-30124, updating a large set of hbase-server unit/integration tests to run under JUnit 5 (Jupiter), including parameterized/template test conversion and tag-based classification.
Changes:
- Replaced JUnit 4 annotations/rules/categories (
@Before,@After,@BeforeClass,@Rule,@Category,ExpectedException, etc.) with JUnit 5 equivalents (@BeforeEach,@AfterEach,@BeforeAll,@AfterAll,@Tag,assertThrows, etc.). - Migrated multiple parameterized tests to
@HBaseParameterizedTestTemplate+@TestTemplatewithStream<Arguments>parameter sources. - Adjusted test base classes and derived tests to use
TestInfofor naming and to align lifecycle setup/teardown with Jupiter.
Reviewed changes
Copilot reviewed 67 out of 67 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/WALDurabilityTestBase.java | JUnit 5 lifecycle + Assertions, replace TestName with TestInfo. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALReplayValueCompression.java | Convert to JUnit 5 tags/lifecycle; adapt replay test wiring for WAL creation. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALReplayCompressed.java | Convert to JUnit 5 tags/lifecycle; adapt replay test wiring for WAL creation. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALReplayBoundedLogWriterCreation.java | Convert to JUnit 5 tags/lifecycle; adapt replay test wiring for WAL creation. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALReplay.java | JUnit 5 tags/lifecycle; refactor WAL factory helper for reuse. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALConfiguration.java | Convert to @HBaseParameterizedTestTemplate + @TestTemplate; use Jupiter assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALCellCodecWithCompression.java | Convert parameterized compression coverage to Stream<Arguments> + @TestTemplate. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.java | JUnit 5 lifecycle and tag migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestSyncFutureCache.java | JUnit 5 assertions/tags migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestSyncFuture.java | Replace JUnit 4 expected-exception with assertThrows; rename variable typo. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestSequenceIdAccounting.java | JUnit 5 assertions/tags migration; message arg order updates. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestSecureWALReplay.java | Convert to JUnit 5 tags/lifecycle; adapt WAL creation override. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestSecureAsyncWALReplay.java | JUnit 5 tags/lifecycle migration for async secure replay. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestProtobufLog.java | JUnit 5 tag migration for protobuf log tests. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWAL.java | Replace TestName rule with TestInfo; JUnit 5 tags/assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollPeriod.java | JUnit 5 tag/lifecycle migration; invoke base cluster setup explicitly. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollingNoCluster.java | JUnit 5 assertions/tags migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.java | JUnit 5 assertions/tags migration; message arg order updates. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.java | JUnit 5 lifecycle + fail() migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.java | Convert to @HBaseParameterizedTestTemplate + Jupiter assumptions/lifecycle. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestFSWALEntry.java | JUnit 5 assertions/tags migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestFSHLogDurability.java | JUnit 5 tag migration for durability test. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestFSHLog.java | Replace TestName rule with TestInfo; JUnit 5 tags/assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestDurability.java | Convert to @HBaseParameterizedTestTemplate + @TestTemplate; Jupiter lifecycle. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestCustomWALCellCodec.java | Replace JUnit 4 expected-exception with assertThrows; tags migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestCompressor.java | Replace JUnit 4 expected-exception with assertThrows; tags migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncWALReplayValueCompression.java | JUnit 5 tags/lifecycle migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncWALReplayCompressed.java | JUnit 5 tags/lifecycle migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncWALReplay.java | JUnit 5 lifecycle changes + guarded setup for subclassing. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncProtobufLog.java | JUnit 5 tags/lifecycle migration; rely on base @BeforeAll/@AfterAll. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncLogRollPeriod.java | JUnit 5 tags/lifecycle migration; invoke base cluster setup explicitly. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncLogRolling.java | JUnit 5 tags/lifecycle migration for async log rolling. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncFSWALRollStuck.java | JUnit 5 tags/lifecycle migration for async WAL roll-stuck regression test. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncFSWALDurability.java | JUnit 5 tags/lifecycle migration for async durability base. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestAsyncFSWAL.java | JUnit 5 tags/lifecycle migration for async WAL tests. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/AbstractTestWALReplay.java | JUnit 5 assertions/lifecycle; switch from TestName to TestInfo. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/AbstractTestProtobufLog.java | JUnit 5 lifecycle (@BeforeAll/@BeforeEach/...) + TestInfo naming. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/AbstractTestLogRollPeriod.java | JUnit 5 assertions; move to explicit setup invocation model. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/AbstractTestLogRolling.java | JUnit 5 lifecycle + assertions; replace TestName with TestInfo. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/AbstractTestFSWAL.java | JUnit 5 lifecycle + assertions; replace TestName with TestInfo. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/throttle/TestStoreHotnessProtector.java | JUnit 5 tags/assertions migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/throttle/TestFlushWithThroughputController.java | JUnit 5 lifecycle + TestInfo naming migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/throttle/TestCompactionWithThroughputController.java | JUnit 5 tags/assertions migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/storefiletracker/TestStoreFileTrackerValidationUtils.java | JUnit 5 tags/assertions migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/storefiletracker/TestStoreFileTrackerFactory.java | JUnit 5 tags/assertions migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/storefiletracker/TestStoreFileListFile.java | JUnit 5 lifecycle + TestInfo naming migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/storefiletracker/TestRegionWithFileBasedStoreFileTracker.java | JUnit 5 lifecycle + TestInfo naming migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/storefiletracker/TestMigrationStoreFileTracker.java | Convert to @HBaseParameterizedTestTemplate + @TestTemplate; Jupiter lifecycle. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/storefiletracker/TestChangeStoreFileTracker.java | Replace deprecated TableNameTestRule with TableNameTestExtension; use assertThrows. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/TestUserScanQueryMatcher.java | JUnit 5 tags/assertions migration; message arg order updates. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/TestScanWildcardColumnTracker.java | JUnit 5 tags/assertions migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/TestScanDeleteTracker.java | JUnit 5 tags/lifecycle migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/TestNewVersionBehaviorTracker.java | JUnit 5 tags/assertions migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/TestExplicitColumnTracker.java | JUnit 5 tags/assertions migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/TestCompactionScanQueryMatcher.java | JUnit 5 tags/assertions migration; message arg order updates. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/querymatcher/AbstractTestScanQueryMatcher.java | JUnit 5 lifecycle migration (@BeforeEach). |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/http/TestRSStatusPage.java | JUnit 5 tags/lifecycle migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestStripeCompactor.java | Convert to @HBaseParameterizedTestTemplate + @TestTemplate; Jupiter tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestStripeCompactionPolicy.java | Convert to @HBaseParameterizedTestTemplate + @TestTemplate; Jupiter tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestOffPeakHours.java | JUnit 5 tags/lifecycle migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestFIFOCompactionPolicy.java | Replace ExpectedException rule with assertThrows; Jupiter tags/lifecycle. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestDateTieredCompactor.java | Convert to @HBaseParameterizedTestTemplate + @TestTemplate; Jupiter tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestCurrentHourProvider.java | JUnit 5 tags/assertions migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestCompactor.java | JUnit 5 assertion migration; message arg order updates. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestCompactedHFilesDischarger.java | JUnit 5 tags/lifecycle migration; assertion signature updates. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestCloseChecker.java | JUnit 5 tags/assertions migration. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/PerfTestCompactionPolicies.java | Convert to @HBaseParameterizedTestTemplate + @TestTemplate; Jupiter tags. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.