HBASE-30123 Upgrade hbase-server to use junit5 Part13#8153
HBASE-30123 Upgrade hbase-server to use junit5 Part13#8153Apache9 wants to merge 1 commit intoapache:masterfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Migrates a large set of hbase-server (and one hbase-common) tests from JUnit4 to JUnit 5, including parameterized-test conversions using HBase’s @HBaseParameterizedTestTemplate, Tag-based classification, and JUnit5-friendly assertion/extension patterns.
Changes:
- Convert many tests from JUnit4 (
@RunWith,@Category, Rules/ClassRules,Assert) to JUnit 5 (@Tag,@BeforeEach/@AfterEach,Assertions,TestInfo,@RegisterExtension). - Replace JUnit4 parameterized tests with
@HBaseParameterizedTestTemplate+@TestTemplateandStream<Arguments>providers. - Update HBase’s JUnit5 parameter resolver to allow null for non-primitive parameters; add
.opencodeto.gitignore.
Reviewed changes
Copilot reviewed 70 out of 71 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/bucket/TestVerifyBucketCacheFile.java | Convert parameterized BucketCache file verification tests to JUnit5 test templates. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/bucket/TestRecoveryPersistentBucketCache.java | Migrate persistence recovery test to JUnit5 tags/assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/bucket/TestRAMCache.java | Migrate RAMCache test to JUnit5 assertions/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/bucket/TestPrefetchWithBucketCache.java | Replace JUnit4 rules with TestInfo; migrate lifecycle annotations to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/bucket/TestPrefetchPersistence.java | Convert parameterized prefetch persistence test to JUnit5 template + Stream<Arguments>. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/bucket/TestFileIOEngine.java | Migrate FileIOEngine tests to JUnit5 lifecycle and assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/bucket/TestExclusiveMemoryMmapEngine.java | Migrate mmap IO engine test to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/bucket/TestByteBufferIOEngine.java | Migrate ByteBuffer IO engine test to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/bucket/TestBucketWriterThread.java | Migrate writer thread tests to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/bucket/TestBucketCacheRefCnt.java | Migrate ref-count tests to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/bucket/TestBucketCachePersister.java | Migrate persister test to JUnit5 tags/assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/bucket/TestBucketCacheEmptyPersistence.java | Migrate empty/truncated persistence tests to JUnit5 assertion signatures. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestTinyLfuBlockCache.java | Migrate TinyLfu cache test to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java | Convert parameterized seek tests to JUnit5 template; replace stdout with slf4j logging. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java | Migrate inline-block seek tests to JUnit5 assertion ordering. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingTTL.java | Convert TTL scanner selection parameterization to JUnit5 template. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingKeyRange.java | Convert key-range scanner selection parameterization to JUnit5 template. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestScannerFromBucketCache.java | Replace JUnit4 TestName Rule with TestInfo; migrate to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestRowIndexV1RoundTrip.java | Migrate RowIndexV1 round-trip test to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestRowIndexV1DataEncoder.java | Migrate encoder test to JUnit5 assertions/lifecycle. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestReseekTo.java | Migrate reseek test to JUnit5 assertion signature. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestPrefetchRSClose.java | Migrate mini-cluster prefetch-close test to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestPrefetch.java | Switch to OpenTelemetryExtension (JUnit5) and migrate assertions/lifecycle. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestLruCachedBlock.java | Migrate LruCachedBlock test to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestLruBlockCache.java | Migrate LruBlockCache test to JUnit5 assertions/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestLruAdaptiveBlockCache.java | Migrate adaptive cache test to JUnit5 assertions/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestLazyDataBlockDecompression.java | Convert parameterized lazy decompression test to JUnit5 template. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV3WithDataEncoders.java | Convert parameterized writer tests to JUnit5 template. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV3.java | Convert boolean-parameterized writer test to JUnit5 template. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java | Migrate lifecycle methods to JUnit5 and replace stdout with logging. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileReaderImpl.java | Migrate reader-impl test to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFilePrettyPrinter.java | Migrate pretty-printer test to JUnit5 and modern assertion signatures. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileInlineToRootChunkConversion.java | Migrate inline-to-root conversion test to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileEncryption.java | Migrate encryption test to JUnit5 lifecycle and assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileDataBlockEncoder.java | Convert parameterized test to JUnit5 template; replace stdout/stderr with logging. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockUnpack.java | Replace TestName Rule with TestInfo; migrate to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java | Convert parameterized block-index tests to JUnit5 template. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlock.java | Convert JUnit4 parameterization to JUnit5 Stream<Arguments> + test templates. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java | Replace JUnit4 rule usage with TestInfo; migrate assertions and logging. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestForceCacheImportantBlocks.java | Convert parameterized caching test to JUnit5 template. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestFixedFileTrailer.java | Convert trailer version parameterization to JUnit5 template. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestCombinedBlockCache.java | Migrate combined block cache test to JUnit5 tags/assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestChecksum.java | Migrate checksum tests to JUnit5 lifecycle and assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestCachedBlockQueue.java | Migrate cached block queue test to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheStats.java | Migrate cache stats test to JUnit5 tags/assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java | Convert large parameter matrix to JUnit5 template + Stream<Arguments>. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheConfig.java | Migrate cache config test to JUnit5 lifecycle. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestBytesReadFromFs.java | Remove JUnit4 rules; migrate to JUnit5 lifecycle/assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/KeySampler.java | Remove debug stdout and update BytesWritable byte-array access. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestSeekToBlockWithEncoders.java | Convert boolean parameterization to JUnit5 template. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestSeekBeforeWithReverseScan.java | Migrate reverse scan test to JUnit5 lifecycle/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoding.java | Migrate small encoding test to JUnit5 tags/assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java | Convert memstore/tags/offheap parameterization to JUnit5 template. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestChangingEncoding.java | Migrate mini-cluster lifecycle annotations to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestBufferedDataBlockEncoder.java | Migrate buffered encoder test to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/compress/HFileTestBase.java | Update shared compression test base to JUnit5 assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestMetricsIO.java | Migrate metrics IO test to JUnit5 tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestImmutableBytesWritable.java | Migrate immutable bytes writable tests to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHeapSize.java | Migrate heap sizing test to JUnit5 lifecycle/tags. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHalfStoreFileReader.java | Migrate half store file reader tests to JUnit5; replace stdout with logging. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHFileLink.java | Replace TestName Rule with TestInfo; migrate to JUnit5. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestFileLink.java | Replace JUnit4 expected-exception style with assertThrows; migrate tags/assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestFSDataInputStreamWrapper.java | Migrate wrapper test to JUnit5 tags/assertions. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestByteBufferOutputStream.java | Migrate output stream test to JUnit5 tags/assertions. |
| hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseParameterizedParameterResolver.java | Allow null values for non-primitive parameters in JUnit5 parameter resolver. |
| .gitignore | Ignore .opencode files/directories. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Seems |
They take too much time to finish... I downloaded the zip file and checked the log, there is no failure but TestFromClientSide3 take 760s to finish and our timeout limit is 780s... Let me split them... |
No description provided.