HBASE-30011 Upgrade hbase-server to use junit5 Part1 (#7947)#8063
Open
liuxiaocs7 wants to merge 1 commit intoapache:branch-2from
Open
HBASE-30011 Upgrade hbase-server to use junit5 Part1 (#7947)#8063liuxiaocs7 wants to merge 1 commit intoapache:branch-2from
liuxiaocs7 wants to merge 1 commit intoapache:branch-2from
Conversation
ee18621 to
8f30dd6
Compare
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
This PR migrates a large set of hbase-server tests from JUnit4 to JUnit5 as part of HBASE-30011 (branch-2 cherry-pick), replacing legacy rules/categories with Jupiter equivalents and updating test method patterns accordingly.
Changes:
- Replace JUnit4 assertions/annotations (
@Before,@After,@Category,@Ignore,@RunWith(Parameterized),TestNamerule, etc.) with JUnit5 (Assertions,@BeforeEach,@AfterAll,@Tag,@Disabled,TestInfo,@TestTemplate). - Remove
HBaseClassTestRuleusage from updated tests. - Refactor some bulk-load-related secure tests to extend new base classes and update doc/comments.
Reviewed changes
Copilot reviewed 68 out of 68 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| hbase-server/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZooKeeperACL.java | Convert to JUnit5 lifecycle + tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/tool/coprocessor/CoprocessorValidatorTest.java | Convert assertions/tags; adjust comment style. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestSecureLoadIncrementalHFilesSplitRecovery.java | Convert to JUnit5; refactor to new bulk-load test base; disable a test via Jupiter. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestSecureLoadIncrementalHFiles.java | Convert to JUnit5; refactor to new bulk-load test base. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestLoadIncrementalHFilesSFT.java | Convert to JUnit5; refactor to new bulk-load test base. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestCanaryTool.java | Convert to JUnit5; replace TestName with TestInfo; update assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/protobuf/TestReplicationProtobuf.java | Convert to JUnit5 assertions/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/procedure2/store/region/TestWALProcedurePrettyPrinter.java | Convert to JUnit5 assertions/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/procedure2/store/region/TestRegionProcedureStoreMigration.java | Convert lifecycle annotations + tags to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/procedure2/store/region/TestRegionProcedureStore.java | Convert to JUnit5 assertions/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/procedure2/store/region/TestHFileProcedurePrettyPrinter.java | Convert to JUnit5 assertions/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/procedure2/store/region/RegionProcedureStoreTestProcedure.java | Convert to JUnit5 assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/procedure2/store/region/RegionProcedureStoreTestBase.java | Convert base test lifecycle to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java | Convert cluster lifecycle + tags to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedure.java | Convert cluster lifecycle + tags to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestProcedureMember.java | Convert to JUnit5 lifecycle + tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestProcedureManager.java | Convert to JUnit5; update assertion message ordering; adjust API call name. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestProcedureDescriber.java | Convert to JUnit5 assertions/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestProcedureCoordinator.java | Convert to JUnit5 lifecycle + tags; update assertion ordering. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestProcedure.java | Convert to JUnit5 lifecycle + tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestFailedProcCleanup.java | Convert to JUnit5 lifecycle + tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/namequeues/TestWalEventTrackerQueueService.java | Convert to JUnit5; replace TestName with TestInfo. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/namequeues/TestWALEventTrackerTableAccessor.java | Convert to JUnit5 assertions/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/namequeues/TestWALEventTracker.java | Convert to JUnit5 lifecycle + tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/namequeues/TestTooLargeLog.java | Convert to JUnit5 lifecycle + tags; replace TestName usage. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/namequeues/TestSlowLogAccessor.java | Convert to JUnit5 lifecycle + tags; update assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/namequeues/TestRpcLogDetails.java | Convert to JUnit5 assertions/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/namequeues/TestNamedQueueRecorder.java | Convert to JUnit5 assertions/tags; update assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestSingleColumnValueFilter.java | Convert to JUnit5 lifecycle/tags; modernize assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestSingleColumnValueExcludeFilter.java | Convert to JUnit5 assertions/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestSeekHints.java | Convert to JUnit5 cluster lifecycle + tags; remove rules. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestScanRowPrefix.java | Convert to JUnit5; replace TestName with TestInfo; add explicit cluster setup. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestRegexComparator.java | Convert to JUnit5 assertions/tags; adjust test cases. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestRandomRowFilter.java | Convert to JUnit5 lifecycle/tags; update assertion form. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestQualifierFilterWithEmptyQualifier.java | Convert to JUnit5 lifecycle/tags; update assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestPrefixFilter.java | Convert to JUnit5 lifecycle/tags; update assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestParseFilter.java | Convert to JUnit5 lifecycle/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestPageFilter.java | Convert to JUnit5 assertions/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestNullComparator.java | Convert to JUnit5 assertions/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestMultipleColumnPrefixFilter.java | Convert to JUnit5; replace TestName with TestInfo. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestMultiRowRangeFilter.java | Convert to JUnit5; replace expected-exception with assertThrows; replace TestName with TestInfo. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestInvocationRecordFilter.java | Convert to JUnit5 lifecycle/tags; update assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestInclusiveStopFilter.java | Convert to JUnit5 lifecycle/tags; update assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFuzzyRowFilterEndToEndLarge.java | Convert cluster lifecycle + tags to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFuzzyRowFilterEndToEnd.java | Convert cluster lifecycle + tags to JUnit5; replace TestName with TestInfo. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFuzzyRowFilter.java | Convert to JUnit5 assertions/tags; adjust negative-array-equality checking. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFuzzyRowAndColumnRangeFilter.java | Convert to JUnit5; replace TestName with TestInfo; remove unused lifecycle methods. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFiltersWithBinaryComponentComparator.java | Convert cluster lifecycle + tags to JUnit5; replace TestName with TestInfo. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterWrapper.java | Convert cluster lifecycle + tags to JUnit5; update assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterWithScanLimits.java | Convert to JUnit5; add explicit cluster setup in @BeforeAll. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterSerialization.java | Migrate parameterized JUnit4 test to JUnit5 test template via HBaseParameterizedTestTemplate. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterListOrOperatorWithBlkCnt.java | Convert cluster lifecycle + tags to JUnit5; replace TestName with TestInfo. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterListOnMini.java | Convert cluster lifecycle + tags to JUnit5; replace TestName with TestInfo. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java | Convert to JUnit5 assertions/tags; update assertion usage. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterFromRegionSide.java | Convert cluster lifecycle + tags to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilter.java | Convert to JUnit5; replace TestName with TestInfo; update assertions and disabled test. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestDependentColumnFilter.java | Convert to JUnit5 lifecycle/tags; update assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestComparatorSerialization.java | Migrate parameterized JUnit4 test to JUnit5 test template via HBaseParameterizedTestTemplate. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestColumnRangeFilter.java | Convert to JUnit5; move helper class out of test class body; use TestInfo. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestColumnPrefixFilter.java | Convert to JUnit5; replace TestName with TestInfo. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestColumnPaginationFilter.java | Convert to JUnit5 lifecycle/tags; update assertion form. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestBitComparator.java | Convert to JUnit5 assertions/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestBigDecimalComparator.java | Convert to JUnit5 assertions/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/filter/FilterTestingCluster.java | Convert shared mini-cluster base to JUnit5 assertions; adjust class structure. |
Comments suppressed due to low confidence (2)
hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestSecureLoadIncrementalHFilesSplitRecovery.java:1
- The comment says the test "overrides" behavior, but
testBulkLoadPhaseFailureis no longer an override (signature changed;@Overrideremoved) and theTestInfoparameter is unused. Either (a) restore the exact override signature and keep@Override, or (b) update the comment and remove the unused parameter so the intent is unambiguous.
hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestSecureLoadIncrementalHFilesSplitRecovery.java:1 - The comment says the test "overrides" behavior, but
testBulkLoadPhaseFailureis no longer an override (signature changed;@Overrideremoved) and theTestInfoparameter is unused. Either (a) restore the exact override signature and keep@Override, or (b) update the comment and remove the unused parameter so the intent is unambiguous.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Duo Zhang <zhangduo@apache.org> (cherry picked from commit aedef59)
8f30dd6 to
24e9c7d
Compare
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.
(cherry picked from commit aedef59)