Skip to content

HBASE-30063 Upgrade hbase-server to use junit5 Part7#8031

Merged
liuxiaocs7 merged 4 commits intoapache:masterfrom
liuxiaocs7:HBASE-30063
Apr 10, 2026
Merged

HBASE-30063 Upgrade hbase-server to use junit5 Part7#8031
liuxiaocs7 merged 4 commits intoapache:masterfrom
liuxiaocs7:HBASE-30063

Conversation

@liuxiaocs7
Copy link
Copy Markdown
Member

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

Migrates a large set of hbase-server master tests from JUnit 4 to JUnit 5, aligning test annotations, assertions, and classification/grouping with the JUnit Platform used by the rest of the codebase.

Changes:

  • Replaces JUnit4 lifecycle/category APIs (@BeforeClass/@AfterClass, @Category, Assert.*, rules) with JUnit5 equivalents (@BeforeAll/@AfterAll, @Tag, Assertions.*, extensions/TestInfo).
  • Updates parameterized testing patterns to JUnit5 via @HBaseParameterizedTestTemplate + @TestTemplate + parameters() stream.
  • Cleans up/modernizes assertion message ordering and disables ignored tests using JUnit5 @Disabled.

Reviewed changes

Copilot reviewed 78 out of 78 changed files in this pull request and generated 18 comments.

Show a summary per file
File Description
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestWarmupRegion.java JUnit5 annotations/tags/assertions migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestUnknownServers.java JUnit5 migration; uses JUnit5 tagging.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestSplitWALManager.java JUnit5 annotations/tags/assertions migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestSplitRegionWhileRSCrash.java JUnit5 migration; tags/assertions update.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestSplitLogManager.java JUnit5 migration; tags/assertions update.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestShutdownWithNoRegionServer.java JUnit5 lifecycle/tag migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestShutdownBackupMaster.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestServerCrashProcedureStuck.java JUnit5 lifecycle/tag migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestServerCrashProcedureCarryingMetaStuck.java JUnit5 lifecycle/tag migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRoundRobinAssignmentOnRestartSplitWithoutZk.java JUnit5 tag migration for subclass test.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRoundRobinAssignmentOnRestart.java JUnit5 tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRollingRestart.java Converts JUnit4 parameterized test to JUnit5 @HBaseParameterizedTestTemplate.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRetainAssignmentOnRestartSplitWithoutZk.java JUnit5 tag migration for subclass test.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRetainAssignmentOnRestart.java JUnit5 tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRestartWithEmptyWALDirectory.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRegionState.java JUnit5 tag/assertion migration; introduces TestInfo usage.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRegionsRecoveryConfigManager.java JUnit5 lifecycle/tag migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRegionsRecoveryChore.java JUnit5 lifecycle/tag migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRegionPlansWithThrottle.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRegionPlacement2.java JUnit5 lifecycle/tag migration; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRegionPlacement.java JUnit5 lifecycle/tag/assertion migration; replaces @Ignore with @Disabled.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRecreateCluster.java JUnit5 lifecycle/tag migration; introduces TestInfo usage.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestOldWALsDirSizeChore.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestNewStartedRegionServerVersion.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMigrateNamespaceTable.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMigrateAndMirrorMetaLocations.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMetaShutdownHandler.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMetaAssignmentWithStopMaster.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMergeTableRegionsWhileRSCrash.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterUseIp.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterTransitions.java JUnit5 lifecycle/tag/assertion migration; replaces @Ignore with @Disabled.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterShutdown.java JUnit5 tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterRestartAfterDisablingTable.java JUnit5 lifecycle/tag migration; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterRepairMode.java JUnit5 lifecycle/tag migration; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterRegionMutation2.java JUnit5 migration + refactor to parameterize superclass cluster setup.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterRegionMutation1.java JUnit5 lifecycle/tag migration + refactor for subclass-driven cluster config.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterQosFunction.java JUnit5 lifecycle/tag migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterOperationsForRegionReplicas.java JUnit5 lifecycle/tag migration; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java JUnit5 lifecycle/tag/assertion migration; replaces JUnit4 asserts.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetrics.java JUnit5 lifecycle/tag migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterHandlerFullWhenTransitRegion.java JUnit5 lifecycle/tag migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterFileSystemWithWALDir.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterFileSystemWithStoreFileTracking.java JUnit5 lifecycle/tag/assertion migration; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterFileSystem.java JUnit5 lifecycle/tag/assertion migration; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterFailoverBalancerPersistence.java JUnit5 tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterFailover.java JUnit5 tag/assertion migration; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterDryRunBalancer.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterCoprocessorServices.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterChoreScheduled.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterBalanceThrottling.java JUnit5 lifecycle/tag/assertion migration; replaces @Ignore with @Disabled.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterBalancerNPE.java JUnit5 lifecycle/tag migration; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterAbortAndRSGotKilled.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMaster.java JUnit5 lifecycle/tag/assertion migration; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestLoadProcedureError.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestListTablesByState.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestHMasterRPCException.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestHMasterCommandLine.java JUnit5 tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestGetReplicationLoad.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestGetLastFlushedSequenceId.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestGetInfoPort.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDLSFSHLog.java JUnit5 tag migration for subclass test.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDLSAsyncFSWAL.java JUnit5 tag migration for subclass test.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterStatusPublisher.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartSplitWithoutZk.java JUnit5 tag migration for subclass test.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailoverSplitWithoutZk.java JUnit5 tag migration for subclass test.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestartFailover.java JUnit5 tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClusterRestart.java JUnit5 tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCloseAnOpeningRegion.java JUnit5 lifecycle/tag migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClockSkewDetection.java JUnit5 tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClientMetaServiceRPCs.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestBalancer.java JUnit5 lifecycle/tag migration; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.java JUnit5 lifecycle/tag migration; replaces TestName with TestInfo.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAlwaysStandByHMaster.java Migrates MiniCluster rule to JUnit5 MiniClusterExtension.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestActiveMasterManager.java JUnit5 lifecycle/tag/assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestRestartCluster.java JUnit5 lifecycle migration for shared cluster restart base class.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java JUnit5 lifecycle migration; replaces TestName with TestInfo-derived table names.

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

Comment thread hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestUnknownServers.java Outdated
Comment thread hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRegionState.java Outdated
@liuxiaocs7
Copy link
Copy Markdown
Member Author

I have checked that the number of unit tests was consistent before and after, and that the unit tests were run in the same way, so let us merge it first!

@liuxiaocs7 liuxiaocs7 merged commit d430f2a into apache:master Apr 10, 2026
20 of 23 checks passed
liuxiaocs7 added a commit to liuxiaocs7/hbase that referenced this pull request Apr 10, 2026
Signed-off-by: Duo Zhang <zhangduo@apache.org>
liuxiaocs7 added a commit that referenced this pull request Apr 10, 2026
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants