rocketmq rocketmq-all-5.5.1
rocketmq rocketmq-all-5.5.1
This maintenance release removes fastjson 1.x from the distribution (fastjson2 upgraded to 2.0.63 and DLedger bumped to 0.3.3.4), introduces a native RocksDB CqCompactionFilter with a cross-platform JNI shim, deprecates the legacy Broker DLedger mode, and delivers extensive stability and performance fixes across tiered storage, Lite Mode, Proxy, and the store layer.
Security & Dependencies
- [ISSUE #7703] Upgrade fastjson2 to 2.0.63 for security fixes by @lizhimins in https://github.com/apache/rocketmq/pull/10715
- [ISSUE #10651] bump DLedger to 0.3.3.4 (maintenance line) by @RongtongJin in https://github.com/apache/rocketmq/pull/10958
- [ISSUE #10641] Deprecate legacy Broker DLedger mode by @RongtongJin in https://github.com/apache/rocketmq/pull/10642
New Feature (Native RocksDB Compaction Filter)
Introduced a native ConsumeQueue compaction filter backed by a cross-platform JNI shim, replacing the previous pure-Java filter and the shaded rocketmq-rocksdb dependency with the official rocksdbjni artifact.
- [ISSUE #10334] Support native CqCompactionFilter with cross-platform JNI shim by @lizhimins in https://github.com/apache/rocketmq/pull/10335
- [ISSUE #10334] Make native CqCompactionFilter shim self-contained without rocksdbjni dependency by @lizhimins in https://github.com/apache/rocketmq/pull/10371
What’s Changed
Tiered Storage
- [ISSUE #10462] Add memory backpressure to dispatch by @lizhimins in https://github.com/apache/rocketmq/pull/10470
- [ISSUE #10462] Fix concurrency bugs in tiered storage by @lizhimins in https://github.com/apache/rocketmq/pull/10471
- [ISSUE #10462] Optimize thread pool sizes for commit and fetch executors by @lizhimins in https://github.com/apache/rocketmq/pull/10472
- [ISSUE #10462] Improve error handling in tiered storage by @lizhimins in https://github.com/apache/rocketmq/pull/10473
- [ISSUE #10462] Standardize log format across tiered storage module by @lizhimins in https://github.com/apache/rocketmq/pull/10474
- [ISSUE #10462] Fix resource leaks and lifecycle issues in tiered storage by @lizhimins in https://github.com/apache/rocketmq/pull/10476
- [ISSUE #10572] Add dual TTL policy for tiered storage read-ahead cache by @Houlong66 in https://github.com/apache/rocketmq/pull/10573
Lite Mode
- [ISSUE #10253] Fix stale wildcardGroupMap entries caused by incorrect parsing during LiteTopic wildcard unregistration by @Kris20030907 in https://github.com/apache/rocketmq/pull/10254
- [ISSUE #10345] fix: preserve lite topic for auto-renew receipt handles by @Kris20030907 in https://github.com/apache/rocketmq/pull/10346
- [ISSUE #10384] Enforce Lite exclusive subscription eviction via server-side tombstones by @f1amingo in https://github.com/apache/rocketmq/pull/10386
- [ISSUE #10387] Support runtime hot-reload of maxClientEventCount in LiteEventDispatcher.ClientEventSet by @f1amingo in https://github.com/apache/rocketmq/pull/10388
- [ISSUE #10423] Optimize LiteConsumerLagCalculator.getLagCountTopK by deferring getStoreTimestamp to topK results only by @f1amingo in https://github.com/apache/rocketmq/pull/10424
- [ISSUE #10450] Selective double-write in CombineConsumeQueueStore by @imzs in https://github.com/apache/rocketmq/pull/10452
- [ISSUE #10453] Fix unexpected decrement of lmq counter by @imzs in https://github.com/apache/rocketmq/pull/10454
- [ISSUE #10549] Fix lite topic reset offset: memory leak, FIFO block bypass, and offset-0 reset failure by @f1amingo in https://github.com/apache/rocketmq/pull/10550
- [ISSUE #10560] Remove enableLiteEventMode config switch by @f1amingo in https://github.com/apache/rocketmq/pull/10561
- [ISSUE #10569] Support Lite Simple Consumer on server side by @f1amingo in https://github.com/apache/rocketmq/pull/10570
- [ISSUE #10615] Fix missing long-polling notification under CombineConsumeQueue selective double-write by @imzs in https://github.com/apache/rocketmq/pull/10616
- [ISSUE #10622] Resolve ConsumerOffsetManager dynamically in LiteEventDispatcher by @f1amingo in https://github.com/apache/rocketmq/pull/10623
- [ISSUE #10644] Add LMQ number gauge metric to Broker observability by @f1amingo in https://github.com/apache/rocketmq/pull/10645
- [ISSUE #10722] Lite Topic may not be cleaned up when message store timestamp is unavailable by @f1amingo in https://github.com/apache/rocketmq/pull/10723
Store & RocksDB
- [ISSUE #10344] Parameterize RocksDB CQ size amplification by @RongtongJin in https://github.com/apache/rocketmq/pull/10344
- [ISSUE #10270] Make Pop RocksDB BlockCache size configurable via MessageStoreConfig by @lizhimins in https://github.com/apache/rocketmq/pull/10271
- [ISSUE #10421] Fix Timer message rocksdb use wrong cache key by @echooymxq in https://github.com/apache/rocketmq/pull/10422
- [ISSUE #10417] Fix stale minOffset after consumeQueue truncation by @chenxu80 in https://github.com/apache/rocketmq/pull/10418
- [ISSUE #10521] Use madvise(MADV_RANDOM) to disable kernel read-ahead during correctMinOffset binary search by @lizhimins in https://github.com/apache/rocketmq/pull/10523
- [ISSUE #10639] Reuse a per-thread scratch buffer in CommitLog.checkMessageAndReturnSize by @wang-jiahua in https://github.com/apache/rocketmq/pull/10640
- [ISSUE #10813] Reduce temporary allocations in the LMQ append path by @ai-yang in https://github.com/apache/rocketmq/pull/10814
- [ISSUE #10819] Correct misleading CommitLog buffer comment by @fuyou001 in https://github.com/apache/rocketmq/pull/10820
- [ISSUE #10953] Clamp shifted message count range to queue bounds by @qianye1001 in https://github.com/apache/rocketmq/pull/10954
- [ISSUE #10959] Fix RocksDBConsumeQueue.iterateFrom should reject offset below min offset by @ymwneu in https://github.com/apache/rocketmq/pull/10960
- [ISSUE #9654] Optimize the bufferLocal size of the TimerMessageStore by @ymwneu in https://github.com/apache/rocketmq/pull/9655
- [ISSUE #10713] Optimize ConsumerFilterManager register CPU consumption by @ymwneu in https://github.com/apache/rocketmq/pull/10714
- [ISSUE #10515] Fix TransactionMetricsFlushService busy spin bug by @wang-jiahua in https://github.com/apache/rocketmq/pull/10517
- [ISSUE #10375] Fix race condition between deleteTopic and FlushConsumeQueueService by removing getLifeCycle indirection by @f1amingo in https://github.com/apache/rocketmq/pull/10376
- [ISSUE #10543] resolve data race in ServiceThread wakeup mechanism by @ShadowySpirits in https://github.com/apache/rocketmq/pull/10544
Broker & HA/Controller
- [ISSUE #10578] Fix master election maxOffset comparator overflow by @Aias00 in https://github.com/apache/rocketmq/pull/10578
- [ISSUE #10604] Fix TopicConfig DataVersion not persisted in split registration by @imzs in https://github.com/apache/rocketmq/pull/10605
- [ISSUE #10446] Support batch deletion of topics and subscription groups in broker by @wang-jiahua in https://github.com/apache/rocketmq/pull/10448
- [ISSUE #10435] Fix shared ClientChannelInfo preventing inactive channel expiry by @chuanxo in https://github.com/apache/rocketmq/pull/10437
- [ISSUE #10438] Fix buildTopicConfigSerializeWrapper exposing live topicConfigTable reference by @chuanxo in https://github.com/apache/rocketmq/pull/10439
- [ISSUE #10284] Fix consumerOffset deserialization error and add test by @ChineseTony in https://github.com/apache/rocketmq/pull/10287
- [ISSUE #10457] Fix RocketmqColdCtr logger level by @brucelwl in https://github.com/apache/rocketmq/pull/10447
- [ISSUE-10546] Add default implementation for rejectRequest() in NettyRequestProcessor by @f1amingo in https://github.com/apache/rocketmq/pull/10547
- fix(common): compare message queue ids safely by @yuluo-yx in https://github.com/apache/rocketmq/pull/10884
- fix(controller): compare partial broker identities safely by @yuluo-yx in https://github.com/apache/rocketmq/pull/10886
- fix(controller): detect inactive raft masters by @yuluo-yx in https://github.com/apache/rocketmq/pull/10885
- Improve ACL 2.0 authorization context handling by @dingshuangxi888 in https://github.com/apache/rocketmq/pull/10925
Proxy & gRPC
- [ISSUE #10260] Reject delayed transactional messages in gRPC send path by @yx9o in https://github.com/apache/rocketmq/pull/10261
- [ISSUE #10274] Fix ForwardMessageToDeadLetterQueue request mapping descriptor by @Kris20030907 in https://github.com/apache/rocketmq/pull/10275
- [ISSUE #10276] Fix PopConsumerService changeInvisibilityDuration losing CK record when visibilityTimeout collision by @qianye1001 in https://github.com/apache/rocketmq/pull/10277
- [ISSUE #10280] Restore opaque when proxy remoting forward fails by @yx9o in https://github.com/apache/rocketmq/pull/10281
- [ISSUE #10297] Set brokerName for messages returned by proxy local POP path by @yx9o in https://github.com/apache/rocketmq/pull/10298
- [ISSUE #10285] Fix preserve popTime when rebuilding AckResult by @yx9o in https://github.com/apache/rocketmq/pull/10286
- [ISSUE #10510] Add gRPC server permit keepalive configuration by @RockteMQ-AI in https://github.com/apache/rocketmq/pull/10516
- [ISSUE #10661] Unregister all producer topics on gRPC client termination by @yx9o in https://github.com/apache/rocketmq/pull/10662
- [ISSUE #10827] fix(broker): spin for the lock on same-attemptId pop orderly retry to avoid empty response by @lizhimins in https://github.com/apache/rocketmq/pull/10828
- [Fix #10460]: Pre-size ProxyContext map to avoid HashMap resize on request path by @HarshMehta112 in https://github.com/apache/rocketmq/pull/10461
Client & Remoting
- [ISSUE #10613] Fix async request-reply RequestCallback firing multiple times by @wang-jiahua in https://github.com/apache/rocketmq/pull/10614
- [ISSUE #10906] Prevent duplicate MQClientInstance creation by @qianye1001 in https://github.com/apache/rocketmq/pull/10907
- [ISSUE #10025] Treat blank local serve address as unset by @Aias00 in https://github.com/apache/rocketmq/pull/10663
- [ISSUE #10522] Reduce Remoting header encoding allocation via FastCodesHeader/RocketMQSerializable optimizations by @wang-jiahua in https://github.com/apache/rocketmq/pull/10522
- [ISSUE #8262] Fix bitsarray off by one by @SummCoder in https://github.com/apache/rocketmq/pull/10506
- fix: validate message batch input by @gaoxiaolei-s59 in https://github.com/apache/rocketmq/pull/10459
- [ISSUE #10247] Remove duplicate remove call in InvocationChannel by @yx9o in https://github.com/apache/rocketmq/pull/10248
Index & Query
- [ISSUE #10268] Fix incorrect time range file selection in IndexStoreService.queryAsync by @lizhimins in https://github.com/apache/rocketmq/pull/10269
- [ISSUE #10291] fix queryMessage default index type by @yuz10 in https://github.com/apache/rocketmq/pull/10292
Observability & Stability
- [ISSUE #10266] Fix OOM caused by OpenTelemetry 1.44 OtlpGrpcMetricExporter pool race by @Houlong66 in https://github.com/apache/rocketmq/pull/10267
- [ISSUE #10398] Fix native memory leak on TLS certificate hot-reload by @qianye1001 in https://github.com/apache/rocketmq/pull/10399
- [ISSUE #10216] Fix potential NPE in EscapeBridge when topicPublishInfo is null by @SGloria in https://github.com/apache/rocketmq/pull/10507
- [ISSUE #10419] Fix NPE when class filter route data is missing by @yin-bo-Final in https://github.com/apache/rocketmq/pull/10420
- [ISSUE #10492] Add debug logging for swallowed exceptions in StatsAllSubCommand by @SGloria in https://github.com/apache/rocketmq/pull/10493
- [ISSUE #10441] Reduce per-RPC allocation in metrics by caching static AttributeKey instances by @wang-jiahua in https://github.com/apache/rocketmq/pull/10443
Performance
- [ISSUE #10467] Reduce per-message allocation in createUniqID and valueOfMagicCode by @wang-jiahua in https://github.com/apache/rocketmq/pull/10469
- [ISSUE #10400] Cache Version.values() in MQVersion to avoid repeated array allocation by @qianye1001 in https://github.com/apache/rocketmq/pull/10401
- [ISSUE #10511] Replace Enum.values() loop with static array lookup in LanguageCode and SerializeType by @wang-jiahua in https://github.com/apache/rocketmq/pull/10513
- [ISSUE #10486] Add getMessageType(Map) overload to eliminate redundant properties decode by @wang-jiahua in https://github.com/apache/rocketmq/pull/10487
Configuration & Extensibility
- [ISSUE #10381] Make HashedWheelTimer parameters configurable in QueueLevelConsumerOrderInfoLockManager by @f1amingo in https://github.com/apache/rocketmq/pull/10382
- [ISSUE #10425] Revert split registration dataVersion change by @RongtongJin in https://github.com/apache/rocketmq/pull/10426
- [ISSUE #10817] Upgrade SpotBugs for JDK 21 compatibility by @fuyou001 in https://github.com/apache/rocketmq/pull/10818
- Classify BrokerShutdownTest as a medium Bazel test by @fuyou001 in https://github.com/apache/rocketmq/pull/10821
Testing & CI
- [ISSUE #10341] Fix Bazel CI build failure caused by Maven Central rate limiting by @lizhimins in https://github.com/apache/rocketmq/pull/10342
- [ISSUE #10373] Quarantine flaky tests and add detection plan docs by @lizhimins in https://github.com/apache/rocketmq/pull/10374
- [ISSUE #10373] Fix quarantined flaky tests and remove CI rerun workflow by @lizhimins in https://github.com/apache/rocketmq/pull/10379
- [ISSUE #10383] Align Bazel dependencies with Maven pom.xml by @lizhimins in https://github.com/apache/rocketmq/pull/10404
- [ISSUE #10389] Fix or ignore several flaky tests of PopPriorityIT by @imzs in https://github.com/apache/rocketmq/pull/10390
- [ISSUE #10410] Fix RocksDBOptionsFactoryTest compile failure by @RongtongJin in https://github.com/apache/rocketmq/pull/10411
- [ISSUE #10430] Add unit tests for srvutil package by @lsq3497 in https://github.com/apache/rocketmq/pull/10431
- [ISSUE #10475] Add unit tests for CleanupPolicyUtils by @quzizii in https://github.com/apache/rocketmq/pull/10475
- [ISSUE #10562] Optimize PopConsumerServiceTest#transferToFsStoreTest to avoid unnecessary background threads by @f1amingo in https://github.com/apache/rocketmq/pull/10563
- Fix flaky HATest semi-sync replication by @RongtongJin in https://github.com/apache/rocketmq/pull/10495
- Configure GitHub workflows to use concurrency cancel-in-progress by @apupier in https://github.com/apache/rocketmq/pull/10445
Documentation
- [ISSUE #10393] Fix outdated FAQ documentation URL in FAQUrl by @majialoong in https://github.com/apache/rocketmq/pull/10394
- [ISSUE #10593] Rename CLusterSendMsgRTCommand to ClusterSendMsgRTCommand by @yx9o in https://github.com/apache/rocketmq/pull/10594
- [DOCS] Update example dependency version from 4.3.0 to 5.5.0 by @H145608 in https://github.com/apache/rocketmq/pull/10349
- [DOCS] Update Chinese docs dependency version from 4.3.0/4.9.1 to 5.5.0 by @H145608 in https://github.com/apache/rocketmq/pull/10358
- [DOCS] Fix typo in Troubleshooting.md filename by @H145608 in https://github.com/apache/rocketmq/pull/10360
- [DOCS] Fix typos in documentation filenames by @quzizii in https://github.com/apache/rocketmq/pull/10505
- docs: fix broker IP typo in startup examples by @gaoxiaolei-s59 in https://github.com/apache/rocketmq/pull/10440
- docs: fix broker container reference and producer typos by @gaoxiaolei-s59 in https://github.com/apache/rocketmq/pull/10449
- docs: fix inaccurate examples and typos across developer guides by @lsq3497 in https://github.com/apache/rocketmq/pull/10456
- docs: remove dead Slack invite link from README by @fancy-agent in https://github.com/apache/rocketmq/pull/10483
- docs: fix dead link to tiered store config in tieredstore README by @fancy-agent in https://github.com/apache/rocketmq/pull/10484
- docs: format README for consistent Markdown style by @skant7 in https://github.com/apache/rocketmq/pull/10551
- Fix outdated constructor signatures in trace documentation by @SummCoder in https://github.com/apache/rocketmq/pull/10501
- Update ACL mqadmin commands in Chinese doc Section 7 by @SummCoder in https://github.com/apache/rocketmq/pull/10504
Full Changelog: https://github.com/apache/rocketmq/compare/rocketmq-all-5.5.0…rocketmq-all-5.5.1
Source apache/rocketmq ·
rocketmq-all-5.5.1· 2026-08-20 · upstream release
Mirrored verbatim for indexing. All rights belong to the upstream project.
Release notes are published by the upstream project and mirrored here for indexing. All rights belong to their authors.