Skip to content

HBASE-30064 Upgrade hbase-server to use junit5 Part8#8032

Open
liuxiaocs7 wants to merge 2 commits intoapache:masterfrom
liuxiaocs7:HBASE-30064
Open

HBASE-30064 Upgrade hbase-server to use junit5 Part8#8032
liuxiaocs7 wants to merge 2 commits intoapache:masterfrom
liuxiaocs7:HBASE-30064

Conversation

@liuxiaocs7
Copy link
Copy Markdown
Member

@liuxiaocs7
Copy link
Copy Markdown
Member Author

wait #8028

@liuxiaocs7 liuxiaocs7 marked this pull request as draft April 8, 2026 03:18
@liuxiaocs7 liuxiaocs7 marked this pull request as ready for review April 9, 2026 07:49
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 HBASE-30064 effort to migrate hbase-server tests under org.apache.hadoop.hbase.master.procedure from JUnit 4 to JUnit 5, aligning annotations, assertions, and test infrastructure (rules/extensions) with the JUnit Jupiter model.

Changes:

  • Replaced JUnit4 annotations/rules/categories with JUnit5 @BeforeEach/@BeforeAll, @AfterEach/@AfterAll, and @Tag.
  • Converted JUnit4 “expected exception” tests to JUnit5 assertThrows and updated assertion argument ordering to JUnit5 APIs.
  • Updated shared test infrastructure to JUnit5 extensions (e.g., tracing/mini-cluster/connection lifecycle) and JUnit5-style parameterization.

Reviewed changes

Copilot reviewed 89 out of 89 changed files in this pull request and generated 15 comments.

Show a summary per file
File Description
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestWALProcedureStoreOnHDFS.java JUnit5 assertions/lifecycle updates; converts expected exception to assertThrows.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestTruncateTableWithMasterFailover.java JUnit5 tags and assertions migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestTruncateTableProcedureWithRecovery.java JUnit5 lifecycle + TestInfo-based naming; cluster lifecycle adjustments.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestTruncateTableProcedure.java JUnit5 lifecycle + TestInfo-based naming; cluster lifecycle adjustments.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestTruncateRegionProcedureWithRecovery.java JUnit5 lifecycle + TestInfo-based naming; cleanup uses shared base cleanup.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestTruncateRegionProcedure.java JUnit5 lifecycle + TestInfo-based naming; cleanup uses shared base cleanup.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestTableProcedureWaitingQueueCleanup.java JUnit5 tags/lifecycle migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestTableDescriptorModificationFromClient.java JUnit5 lifecycle + fail assertions; TestInfo-based naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestTableDDLProcedureBase.java Refactors base class hooks to JUnit5 @BeforeEach/@AfterEach and exposes cluster lifecycle helpers.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSuspendTRSPWhenHoldingRegionStateNodeLock.java JUnit5 tags/lifecycle migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSplitWALProcedure.java JUnit5 tags/lifecycle migration; assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSnapshotVerifyProcedure.java JUnit5 tags/lifecycle migration; assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSnapshotRegionProcedure.java JUnit5 tags/lifecycle migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSnapshotProcedureWithLockTimeout.java JUnit5 tags/lifecycle migration; assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSnapshotProcedureSnapshotCorrupted.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSnapshotProcedureRSCrashes.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSnapshotProcedureRIT.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSnapshotProcedureMasterRestarts.java JUnit5 tags migration; assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSnapshotProcedureForSnapshotType.java JUnit5 lifecycle + TestInfo-based naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSnapshotProcedureEarlyExpiration.java JUnit5 lifecycle migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSnapshotProcedureConcurrently.java JUnit5 tags migration; assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSnapshotProcedureBasicSnapshot.java Replaces JUnit4 expected exceptions with assertThrows.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSnapshotProcedure.java JUnit5 lifecycle migration for shared snapshot test base.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestServerRemoteProcedure.java JUnit5 lifecycle + TestInfo-based naming; assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithReplicasWithRSGroup.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithReplicasWithoutZKCoordinated.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithReplicas.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithoutZKCoordinated.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithoutMetaWithReplicasWithoutZKCoordinated.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithoutMetaWithReplicas.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithoutMetaWithoutZKCoordinated.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithoutMeta.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithMetaWithReplicasWithoutZKCoordinated.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithMetaWithReplicas.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithMetaWithoutZKCoordinated.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithMeta.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPBase.java JUnit5 lifecycle migration for SCP test base.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCP.java JUnit5 tags migration; assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSchedulerQueueDeadLock.java JUnit5 lifecycle + TestInfo-based naming; safer teardown null-checks.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSafemodeBringsDownMaster.java JUnit5 lifecycle migration and assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestRestoreSnapshotProcedure.java JUnit5 lifecycle + TestInfo-based naming; cluster lifecycle moved to @BeforeAll/@afterall.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestReopenTableRegionsProcedureSpecificRegions.java JUnit5 tags/lifecycle and assertion updates for reopen-region behaviors.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestReopenTableRegionsProcedureInfiniteLoop.java JUnit5 tags/lifecycle migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestReopenTableRegionsProcedureBatching.java JUnit5 tags/lifecycle migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestReopenTableRegionsProcedureBatchBackoff.java JUnit5 tags/lifecycle migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestReopenTableRegionsProcedureBackoff.java JUnit5 tags/lifecycle migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestReopenTableRegionsIntegration.java JUnit5 tags/lifecycle migration; assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestReloadQuotasProcedure.java JUnit5 lifecycle + TestInfo-based naming; assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestRecoverySnapshotUtils.java JUnit5 tags migration; assertion ordering updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestRaceBetweenSCPAndDTP.java JUnit5 tags/lifecycle migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestProcedureWaitAndWake.java JUnit5 tags/lifecycle migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestProcedureTracing.java Migrates to JUnit5 extensions (OpenTelemetry/MiniCluster/Connection) and TestInfo-based naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestProcedurePriority.java JUnit5 tags/lifecycle migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestProcedureAdmin.java JUnit5 lifecycle + TestInfo-based naming; assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestModifyTableProcedureWithRecovery.java JUnit5 lifecycle + TestInfo-based naming; explicit cluster lifecycle.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestModifyTableProcedure.java JUnit5 lifecycle + TestInfo-based naming; explicit cluster lifecycle; assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestModifyNamespaceProcedure.java JUnit5 lifecycle migration; assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureSchedulerConcurrency.java JUnit5 tags/lifecycle migration; assertion argument ordering updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.java JUnit5 lifecycle + TestInfo-based naming; assertion argument ordering updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureEvents.java JUnit5 lifecycle + TestInfo-based naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestMasterObserverPostCalls.java JUnit5 tags/lifecycle migration; assertion argument ordering updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestManageTableErasureCodingPolicy.java JUnit5 tags/lifecycle migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestLogRollProcedure.java JUnit5 lifecycle + TestInfo-based naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestIgnoreUnknownFamily.java JUnit5 lifecycle + TestInfo-based naming; tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestHBCKSCP.java Migrates JUnit4 parameterized test to JUnit5 template/provider model; replaces TableName rule with extension.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestFlushTableProcedureWithDoNotSupportFlushTableMaster.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestFlushTableProcedureMasterRestarts.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestFlushTableProcedureBase.java JUnit5 lifecycle + assertion migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestFlushTableProcedure.java JUnit5 tags migration; assertThrows conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestFastFailOnProcedureNotRegistered.java Converts expected exception to assertThrows; adds explicit cluster lifecycle.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestEnableTableWithMasterFailover.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestEnableTableProcedure.java JUnit5 lifecycle + TestInfo-based naming; expected exception conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestDisableTableWithMasterFailover.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestDisableTableProcedure.java JUnit5 lifecycle + TestInfo-based naming; explicit cluster lifecycle.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestDeleteTableWithMasterFailover.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestDeleteTableProcedureWithRecovery.java JUnit5 lifecycle + TestInfo-based naming; explicit cluster lifecycle.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestDeleteTableProcedure.java JUnit5 lifecycle + TestInfo-based naming; expected exception conversion to assertThrows.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestDeleteNamespaceProcedure.java JUnit5 lifecycle + TestInfo-based naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestDeleteColumnFamilyProcedureFromClient.java JUnit5 lifecycle migration; fail conversion; tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCreateTableWithMasterFailover.java JUnit5 tags migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCreateTableProcedureMuitipleRegions.java JUnit5 tags/lifecycle migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCreateTableProcedure.java JUnit5 lifecycle + TestInfo-based naming; expected exception conversions.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCreateTableNoRegionServer.java JUnit5 tags/lifecycle migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCreateNamespaceProcedure.java JUnit5 tags/lifecycle migration.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCreateDeleteTableProcedureWithRetry.java JUnit5 tags/lifecycle migration; assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCloneSnapshotProcedureFileBasedSFT.java Adjusts configuration setup for FILE-based SFT in JUnit5 context.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCloneSnapshotProcedure.java Adds explicit @BeforeAll/@afterall cluster lifecycle under JUnit5.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/MasterProcedureTestingUtility.java Migrates assertions to JUnit5 style.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/MasterFailoverWithProceduresTestBase.java Migrates class-level lifecycle hooks to JUnit5.

💡 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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants