Skip to content

HBASE-30136 Upgrade hbase-server to use junit5 Part15#8283

Merged
liuxiaocs7 merged 2 commits into
apache:branch-2from
liuxiaocs7:HBASE-30136-branch-2
May 30, 2026
Merged

HBASE-30136 Upgrade hbase-server to use junit5 Part15#8283
liuxiaocs7 merged 2 commits into
apache:branch-2from
liuxiaocs7:HBASE-30136-branch-2

Conversation

@liuxiaocs7
Copy link
Copy Markdown
Member

@liuxiaocs7 liuxiaocs7 added the backport This PR is a back port of some issue or issues already committed to master label May 28, 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 HBASE-30136 effort (branch-2, Part 15) by migrating a large set of hbase-server regionserver tests from JUnit 4 to JUnit 5. The changes modernize test annotations/assertions, replace @Category with JUnit 5 tags, and update parameterized tests to use HBase’s JUnit 5 parameterized template support.

Changes:

  • Convert JUnit 4 assertions/annotations/rules (@Test, @Before, @Rule, @Category, Assume, etc.) to JUnit 5 equivalents (@Test, @BeforeEach, @Tag, Assumptions, TestInfo, etc.).
  • Replace JUnit 4 TestName usage with JUnit 5 TestInfo-derived test names for table/dir naming.
  • Migrate JUnit 4 parameterized tests to JUnit 5 using @HBaseParameterizedTestTemplate/@TestTemplate (and, where applicable, JUnit 5 @ParameterizedClass).

Reviewed changes

Copilot reviewed 56 out of 56 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestGetClosestAtOrBefore.java JUnit 5 migration: assertions, tags, and TestInfo-based naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestFSErrorsExposed.java JUnit 5 migration: assumptions, tags, and TestInfo-based naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestFlushRegionEntry.java JUnit 5 migration: lifecycle annotations and TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestFlushLifeCycleTracker.java JUnit 5 migration: lifecycle annotations and tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestFailedAppendAndSync.java JUnit 5 migration: lifecycle annotations, assertions, TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java JUnit 5 migration: lifecycle, assertions, tags, TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEncryptionRandomKeying.java JUnit 5 migration: lifecycle, assertions, tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEncryptionKeyRotation.java JUnit 5 migration: lifecycle, assertions, tags, TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEncryptionDisabled.java JUnit 5 migration: assertThrows-based exception assertions and tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDirectStoreSplitsMerges.java JUnit 5 migration: lifecycle, tags, TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDeleteMobTable.java JUnit 5 migration: assertions, lifecycle, tags, TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultStoreEngine.java JUnit 5 migration: assertions and tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java JUnit 5 migration plus new test-name building/sanitization helpers and refactored setup/teardown hooks.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultCompactSelection.java JUnit 5 migration: assertions and tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDateTieredCompactionPolicyOverflow.java JUnit 5 migration: tags/annotations.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDateTieredCompactionPolicyHeterogeneousStorage.java JUnit 5 migration: tags/annotations.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDateTieredCompactionPolicy.java JUnit 5 migration: tags/annotations.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDataTieringManager.java JUnit 5 migration: assertions, tags, lifecycle updates.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDataBlockEncodingTool.java JUnit 5 migration: @BeforeEach and tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCustomCellTieredCompactionPolicy.java JUnit 5 migration: assertions and tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCustomCellDataTieringManager.java JUnit 5 migration: assertions/tags and minor javadoc link update.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.java JUnit 5 migration: assertions, tags, @BeforeEach.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactSplitThread.java JUnit 5 migration: lifecycle annotations and assertDoesNotThrow.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactorMemLeak.java JUnit 5 migration: assertions, tags, TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactionWithShippingCoprocessor.java JUnit 5 migration: tags/lifecycle and TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactionWithCoprocessor.java JUnit 5 migration: tags/annotations.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactionWithByteBuff.java JUnit 5 migration: tags/lifecycle annotations.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactionState.java JUnit 5 migration: tags/lifecycle and TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactionPolicy.java JUnit 5 migration: lifecycle annotations and assertions.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactionLifeCycleTracker.java JUnit 5 migration: tags/lifecycle and @Disabled.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactionInDeadRegionServer.java Migrates parameterized test to @HBaseParameterizedTestTemplate + constructor injection + @TestTemplate.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactionFileNotFound.java JUnit 5 migration: tags/lifecycle; simplify compaction exception handling.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactionArchiveIOException.java JUnit 5 migration: tags/lifecycle and TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactionArchiveConcurrentClose.java JUnit 5 migration: tags/lifecycle and TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactionAfterBulkLoad.java Migrates to @HBaseParameterizedTestTemplate/@TestTemplate; updates temp folder usage.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompaction.java JUnit 5 migration: assertions, tags, lifecycle, TestInfo naming, Assumptions usage.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingToCellFlatMapMemStore.java Migrates parameterized-class style to JUnit 5 @ParameterizedClass + @MethodSource.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingMemStore.java Refactors to hook into new TestDefaultMemStore setup/teardown and JUnit 5 tags.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestColumnSeeking.java JUnit 5 migration: tags and TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestClusterId.java JUnit 5 migration: tags/lifecycle annotations.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestClearRegionBlockCache.java Migrates parameterized test to @HBaseParameterizedTestTemplate + constructor injection + @TestTemplate.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCleanupMetaWAL.java JUnit 5 migration: tags/lifecycle annotations; cluster shutdown updated.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCleanupCompactedFileOnRegionClose.java JUnit 5 migration: assertions/tags/lifecycle.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCleanupCompactedFileAfterFailover.java JUnit 5 migration: assertions/tags/lifecycle.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCellSkipListSet.java JUnit 5 migration: tags/lifecycle and TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCellFlatSet.java Migrates parameterized test to @HBaseParameterizedTestTemplate + @TestTemplate.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.java Migrates parameterized test to @HBaseParameterizedTestTemplate + @TestTemplate; uses TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBytesReadServerSideScanMetrics.java JUnit 5 migration: assertions, tags, TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBulkloadBase.java Migrates parameterized base to JUnit 5 @TempDir and Stream<Arguments> parameters provider.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBulkLoad.java Migrates parameterized test to @HBaseParameterizedTestTemplate + @TestTemplate; uses assertThrows.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBrokenStoreFileCleaner.java JUnit 5 migration: tags/lifecycle annotations.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBootstrapNodeManager.java JUnit 5 migration: tags/lifecycle and assertion imports.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBloomFilterFaulty.java JUnit 5 migration: tags/lifecycle and TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBlocksScanned.java JUnit 5 migration: tags/lifecycle annotations.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBlocksRead.java JUnit 5 migration: tags/lifecycle and TestInfo naming.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestAtomicOperation.java JUnit 5 migration: tags/lifecycle, assertions, and TestInfo naming; javadoc link update.

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

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

Copilot reviewed 56 out of 56 changed files in this pull request and generated 5 comments.

@liuxiaocs7
Copy link
Copy Markdown
Member Author

liuxiaocs7 commented May 30, 2026

Same question, TestClientScannerTimeouts fails on JDK8, and it is unrelated, let me merge first!

@liuxiaocs7 liuxiaocs7 merged commit 5d5c0f1 into apache:branch-2 May 30, 2026
34 of 40 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