Skip to content

HBASE-30079 Upgrade hbase-compression to use junit5 (#8072)#8166

Merged
liuxiaocs7 merged 2 commits intoapache:branch-3from
liuxiaocs7:HBASE-30079-branch-3
Apr 30, 2026
Merged

HBASE-30079 Upgrade hbase-compression to use junit5 (#8072)#8166
liuxiaocs7 merged 2 commits intoapache:branch-3from
liuxiaocs7:HBASE-30079-branch-3

Conversation

@liuxiaocs7
Copy link
Copy Markdown
Member

Signed-off-by: Duo Zhang <zhangduo@apache.org>
@liuxiaocs7 liuxiaocs7 requested a review from Copilot April 29, 2026 16:15
@liuxiaocs7 liuxiaocs7 added the backport This PR is a back port of some issue or issues already committed to master label Apr 29, 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

Note

Copilot was unable to run its full agentic suite in this review.

Upgrades the hbase-compression test suite to JUnit 5 (Jupiter), modernizing annotations/assertions and updating parameterized test infrastructure for WAL compression tests.

Changes:

  • Migrates multiple compression-related tests from JUnit 4 (@Category, @BeforeClass, Assert, etc.) to JUnit 5 (@Tag, @BeforeAll, Assertions, etc.).
  • Refactors compressed WAL tests away from HBaseParameterizedTestTemplate/@TestTemplate toward a JUnit 5 parameterized-class approach.
  • Adds the JUnit Jupiter engine dependency to the hbase-compression module.

Reviewed changes

Copilot reviewed 31 out of 31 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/wal/TestCompressedWALValueCompression.java Switches WAL compression test parameterization annotations to JUnit 5 style.
hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestCompressedWAL.java Switches WAL provider test parameterization annotations to JUnit 5 style.
hbase-server/src/test/java/org/apache/hadoop/hbase/wal/CompressedWALTestBase.java Replaces template-based tests with plain JUnit 5 @Test methods.
hbase-compression/pom.xml Adds junit-jupiter-engine so JUnit 5 tests can execute.
hbase-compression/hbase-compression-zstd/src/test/java/org/apache/hadoop/hbase/io/compress/zstd/TestZstdDictionarySplitMerge.java Migrates from JUnit 4 to JUnit 5 lifecycle, tags, and assertions.
hbase-compression/hbase-compression-zstd/src/test/java/org/apache/hadoop/hbase/io/compress/zstd/TestZstdDictionary.java Migrates from JUnit 4 to JUnit 5 lifecycle, tags, and assertions.
hbase-compression/hbase-compression-zstd/src/test/java/org/apache/hadoop/hbase/io/compress/zstd/TestZstdCodec.java Migrates from JUnit 4 to JUnit 5 tags and tests.
hbase-compression/hbase-compression-zstd/src/test/java/org/apache/hadoop/hbase/io/compress/zstd/TestZstdByteBuffDecompressor.java Migrates from JUnit 4 to JUnit 5 tags and assertions.
hbase-compression/hbase-compression-zstd/src/test/java/org/apache/hadoop/hbase/io/compress/zstd/TestWALCompressionZstd.java Migrates from JUnit 4 class lifecycle/categories to JUnit 5 tags/lifecycle.
hbase-compression/hbase-compression-zstd/src/test/java/org/apache/hadoop/hbase/io/compress/zstd/TestHFileCompressionZstd.java Migrates from JUnit 4 to JUnit 5 and updates assertion call order.
hbase-compression/hbase-compression-snappy/src/test/java/org/apache/hadoop/hbase/io/compress/xerial/TestWALCompressionSnappy.java Migrates from JUnit 4 lifecycle/categories to JUnit 5 tags/lifecycle.
hbase-compression/hbase-compression-snappy/src/test/java/org/apache/hadoop/hbase/io/compress/xerial/TestSnappyCodec.java Migrates from JUnit 4 to JUnit 5 tags/lifecycle.
hbase-compression/hbase-compression-snappy/src/test/java/org/apache/hadoop/hbase/io/compress/xerial/TestHFileCompressionSnappy.java Migrates from JUnit 4 to JUnit 5 tags/lifecycle.
hbase-compression/hbase-compression-lz4/src/test/java/org/apache/hadoop/hbase/io/compress/lz4/TestWALCompressionLz4.java Migrates from JUnit 4 lifecycle/categories to JUnit 5 tags/lifecycle.
hbase-compression/hbase-compression-lz4/src/test/java/org/apache/hadoop/hbase/io/compress/lz4/TestLz4Codec.java Migrates from JUnit 4 to JUnit 5 tags/tests.
hbase-compression/hbase-compression-lz4/src/test/java/org/apache/hadoop/hbase/io/compress/lz4/TestHFileCompressionLz4.java Migrates from JUnit 4 to JUnit 5 tags/lifecycle.
hbase-compression/hbase-compression-brotli/src/test/java/org/apache/hadoop/hbase/io/compress/brotli/TestWALCompressionBrotli.java Migrates from JUnit 4 lifecycle/categories to JUnit 5 tags/lifecycle.
hbase-compression/hbase-compression-brotli/src/test/java/org/apache/hadoop/hbase/io/compress/brotli/TestHFileCompressionBrotli.java Migrates from JUnit 4 to JUnit 5 tags/lifecycle.
hbase-compression/hbase-compression-brotli/src/test/java/org/apache/hadoop/hbase/io/compress/brotli/TestBrotliCodec.java Migrates from JUnit 4 to JUnit 5 tags/tests.
hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestZstdCodec.java Migrates from JUnit 4 to JUnit 5 tags/tests.
hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestWALCompressionZstd.java Migrates from JUnit 4 lifecycle/categories to JUnit 5 tags/lifecycle.
hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestWALCompressionSnappy.java Migrates from JUnit 4 lifecycle/categories to JUnit 5 tags/lifecycle.
hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestWALCompressionLzo.java Migrates from JUnit 4 lifecycle/categories to JUnit 5 tags/lifecycle.
hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestWALCompressionLz4.java Migrates from JUnit 4 lifecycle/categories to JUnit 5 tags/lifecycle.
hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestSnappyCodec.java Migrates from JUnit 4 to JUnit 5 tags/tests.
hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestLzoCodec.java Migrates from JUnit 4 to JUnit 5 tags/tests.
hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestLz4Codec.java Migrates from JUnit 4 to JUnit 5 tags/tests.
hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestHFileCompressionZstd.java Migrates from JUnit 4 to JUnit 5 tags/lifecycle.
hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestHFileCompressionSnappy.java Migrates from JUnit 4 to JUnit 5 tags/lifecycle.
hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestHFileCompressionLzo.java Migrates from JUnit 4 to JUnit 5 tags/lifecycle.
hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestHFileCompressionLz4.java Migrates from JUnit 4 to JUnit 5 tags/lifecycle.
Comments suppressed due to low confidence (1)

hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestCompressedWALValueCompression.java:1

  • org.junit.jupiter.params.provider.MethodSource (JUnit Jupiter) is a method-level annotation and is not applicable at the class level, which will fail compilation. Also, org.junit.jupiter.params.ParameterizedClass is not part of standard JUnit Jupiter (up to at least JUnit 5.10 era) and is very likely an invalid import; consider keeping the existing @TestTemplate-based mechanism (with an invocation context provider) or refactoring to @ParameterizedTest methods with @MethodSource applied to the test methods.

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

…che/hadoop/hbase/io/compress/zstd/TestHFileCompressionZstd.java

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@liuxiaocs7 liuxiaocs7 merged commit 9a2bd1a into apache:branch-3 Apr 30, 2026
16 of 18 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