Skip to content

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

Open
liuxiaocs7 wants to merge 1 commit intoapache:branch-2.5from
liuxiaocs7:HBASE-30124-branch-2.5
Open

HBASE-30124 Upgrade hbase-server to use junit5 Part14#8210
liuxiaocs7 wants to merge 1 commit intoapache:branch-2.5from
liuxiaocs7:HBASE-30124-branch-2.5

Conversation

@liuxiaocs7
Copy link
Copy Markdown
Member

@liuxiaocs7 liuxiaocs7 requested a review from Copilot May 8, 2026 19:44
@liuxiaocs7 liuxiaocs7 added the backport This PR is a back port of some issue or issues already committed to master label May 8, 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.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 + @TestTemplate with Stream<Arguments> parameter sources.
  • Adjusted test base classes and derived tests to use TestInfo for 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.

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