Skip to content

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

Merged
liuxiaocs7 merged 1 commit into
apache:branch-2.5from
liuxiaocs7:HBASE-30064-branch-2.5
Apr 25, 2026
Merged

HBASE-30064 Upgrade hbase-server to use junit5 Part8#8132
liuxiaocs7 merged 1 commit into
apache:branch-2.5from
liuxiaocs7:HBASE-30064-branch-2.5

Conversation

@liuxiaocs7
Copy link
Copy Markdown
Member

@liuxiaocs7 liuxiaocs7 requested a review from Copilot April 24, 2026 16:48
@liuxiaocs7 liuxiaocs7 added the backport This PR is a back port of some issue or issues already committed to master label Apr 24, 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 effort for HBASE-30064 by migrating a large set of hbase-server (and one hbase-rsgroup) master-procedure-related tests from JUnit4 to JUnit5, updating annotations, rules/extensions, parameterization, and assertion APIs.

Changes:

  • Replace JUnit4 @Category, @Before/@After/@BeforeClass/@AfterClass, Rules/ClassRules, and expected=... tests with JUnit5 @Tag, @BeforeEach/@AfterEach/@BeforeAll/@AfterAll, extensions, and assertThrows.
  • Update tests that relied on TestName/rules to use TestInfo or TableNameTestExtension for unique per-test naming.
  • Migrate OpenTelemetry and parameterized tests to JUnit5 extension/template-based patterns.

Reviewed changes

Copilot reviewed 60 out of 60 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestWALProcedureStoreOnHDFS.java JUnit5 migration; converts expected-exception to assertThrows and updates lifecycle annotations.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestTruncateTableWithMasterFailover.java Replace JUnit4 categories/rules with JUnit5 tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestTruncateTableProcedure.java JUnit5 migration; uses TestInfo for table naming; adds explicit cluster lifecycle.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestTableProcedureWaitingQueueCleanup.java JUnit5 migration; switch to @BeforeAll/@AfterAll and tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestTableDescriptorModificationFromClient.java JUnit5 migration; uses TestInfo, JUnit5 assertions, and fail().
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestTableDDLProcedureBase.java Convert to JUnit5 assertions/hooks; exposes cluster lifecycle helpers for subclasses.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSplitWALProcedure.java JUnit5 migration; switch to @BeforeEach/@AfterEach and tags/assertions.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSnapshotProcedureWithLockTimeout.java JUnit5 migration; replace categories/rules and update assertions.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestServerRemoteProcedure.java JUnit5 migration; replace rules/categories and update assertions.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSchedulerQueueDeadLock.java JUnit5 migration; uses TestInfo for per-test dirs and safer teardown.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSafemodeBringsDownMaster.java JUnit5 migration; replace lifecycle annotations and assertions.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithoutZKCoordinated.java Replace JUnit4 category/rule with JUnit5 tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithoutMetaWithoutZKCoordinated.java Replace JUnit4 category/rule with JUnit5 tags (and adjust classification import).
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithoutMetaWithReplicasWithoutZKCoordinated.java Replace JUnit4 category/rule with JUnit5 tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithoutMetaWithReplicas.java Replace JUnit4 category/rule with JUnit5 tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithoutMeta.java Replace JUnit4 category/rule with JUnit5 tags and Jupiter @Test.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithReplicasWithoutZKCoordinated.java Replace JUnit4 category/rule with JUnit5 tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithReplicas.java Replace JUnit4 category/rule with JUnit5 tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithMetaWithoutZKCoordinated.java Replace JUnit4 category/rule with JUnit5 tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithMetaWithReplicasWithoutZKCoordinated.java Replace JUnit4 category/rule with JUnit5 tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithMetaWithReplicas.java Replace JUnit4 category/rule with JUnit5 tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithMeta.java Replace JUnit4 category/rule with JUnit5 tags and Jupiter @Test.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPBase.java JUnit5 migration; update base test lifecycle and assertions.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCP.java JUnit5 migration; tags and assertion API updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestRestoreSnapshotProcedure.java JUnit5 migration; explicit cluster lifecycle + TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestReopenTableRegionsProcedureInfiniteLoop.java Replace JUnit4 lifecycle/categories with JUnit5.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestReopenTableRegionsProcedureBackoff.java Replace JUnit4 lifecycle/categories with JUnit5.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestRaceBetweenSCPAndDTP.java Replace JUnit4 lifecycle/categories with JUnit5.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestProcedureWaitAndWake.java Replace JUnit4 lifecycle/categories with JUnit5.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestProcedureTracing.java Migrate tracing test from JUnit4 rules to JUnit5 extensions + tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestProcedurePriority.java Replace JUnit4 lifecycle/categories with JUnit5.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestProcedureAdmin.java JUnit5 migration; explicit cluster lifecycle + TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestModifyTableProcedure.java JUnit5 migration; explicit cluster lifecycle + TestInfo naming + assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestModifyNamespaceProcedure.java Replace JUnit4 lifecycle/categories with JUnit5.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureSchedulerConcurrency.java JUnit5 migration; tags + assertion argument ordering updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.java JUnit5 migration; TestInfo naming and assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureEvents.java JUnit5 migration; explicit cluster lifecycle + TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestMasterObserverPostCalls.java JUnit5 migration; tags + assertion ordering updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestIgnoreUnknownFamily.java JUnit5 migration; TestInfo naming and lifecycle conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestHBCKSCP.java Convert JUnit4 Parameterized runner to JUnit5 template-based parameterization + TableName extension.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestFastFailOnProcedureNotRegistered.java JUnit5 migration; replaces expected=... with assertThrows and adds explicit cluster lifecycle.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestEnableTableWithMasterFailover.java Replace JUnit4 categories/rules with JUnit5 tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestEnableTableProcedure.java JUnit5 migration; explicit cluster lifecycle + TestInfo naming + assertThrows.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestDisableTableWithMasterFailover.java Replace JUnit4 categories/rules with JUnit5 tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestDisableTableProcedure.java JUnit5 migration; explicit cluster lifecycle + TestInfo naming + assertion updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestDeleteTableWithMasterFailover.java Replace JUnit4 categories/rules with JUnit5 tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestDeleteTableProcedure.java JUnit5 migration; explicit cluster lifecycle + TestInfo naming + assertThrows.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestDeleteNamespaceProcedure.java JUnit5 migration; explicit cluster lifecycle + TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestDeleteColumnFamilyProcedureFromClient.java JUnit5 migration; tags/lifecycle conversion + fail() updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCreateTableWithMasterFailover.java Replace JUnit4 categories/rules with JUnit5 tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCreateTableProcedureMuitipleRegions.java Replace JUnit4 lifecycle/categories with JUnit5.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCreateTableProcedure.java JUnit5 migration; explicit cluster lifecycle + TestInfo naming + assertThrows.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCreateTableNoRegionServer.java Replace JUnit4 lifecycle/categories with JUnit5.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCreateNamespaceProcedure.java Replace JUnit4 lifecycle/categories with JUnit5.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCreateDeleteTableProcedureWithRetry.java JUnit5 migration; tags + Jupiter assertions.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCloneSnapshotProcedureFileBasedSFT.java JUnit5 migration; sets StoreFileTracker impl for FILE variant.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCloneSnapshotProcedure.java JUnit5 migration; explicit cluster lifecycle + per-test teardown hook conversion.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/MasterProcedureTestingUtility.java Update assertion APIs to JUnit5.
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/MasterFailoverWithProceduresTestBase.java JUnit5 migration; replace class lifecycle annotations.
hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithReplicasWithRSGroup.java Replace JUnit4 category/rule with JUnit5 tags.

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

@liuxiaocs7 liuxiaocs7 merged commit 82c4573 into apache:branch-2.5 Apr 25, 2026
24 checks passed
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