feat: add a GZIP message compression codec

Open
#11,448 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@Metastarx is already working on this.

Since Oct 16, 2026.

  • #11449 by @Metastarx — open

Assessment

Difficulty
3/5
Estimated time
Half a day
Newbie friendliness
62/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
java
Domain
backend

Research direction

The payload names no files, so begin by finding where the existing LZ4, ZSTD and ZLIB codecs are defined and selected in the repository, and read one of them end to end. Add a GZIP codec built on java.util.zip.GZIPOutputStream and GZIPInputStream that follows the same pattern, and register it wherever the other codecs are listed. Done when a message compressed with GZIP round-trips through the existing codec tests, extended to cover it.

Written by the indexing model from the issue text.

Description

功能说明:Adds GZIP as a selectable message body compression codec alongside the existing LZ4, ZSTD and ZLIB codecs. GZIP is implemented entirely with the JDK (java.util.zip.GZIPOutputStream / GZIPInputStream), so no new dependency, LICENSE entry or IP clearance is required, and its framing is what nearly every other language and command line tool produces by default, which makes compressed payloads interchangeable with external producers and consumers. It mirrors the existing codec family exactly.

Dominant language
Java
Stars
22.7k
Forks
12k
Avg merge
3d 18h
Merged PRs (30d)
17

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/rocketmq

All issues in apache/rocketmq

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.