Download the 5.2.0 release
- Source: rocketmq-all-5.2.0-source-release.zip [PGP] [SHA512]
- Binary: rocketmq-all-5.2.0-bin-release.zip [PGP] [SHA512] :::
Below is a summary of the issues addressed in the 5.2.0 release of RocketMQ. For full documentation of the release, a guide to get started, please refer to Quick Start.
Feature
- [ISSUE #7545][RIP-65] Support efficient random index for massive messages by @lizhimins in https://github.com/apache/rocketmq/pull/7546
- [ISSUE #7064][RIP-66] Support KV(RocksDB) Storage for ConsumeQueue by @fujian-zfj in https://github.com/apache/rocketmq/pull/7120
- [ISSUE #7300][RIP-67] jRaft-Controller Implementation by @yulangz in https://github.com/apache/rocketmq/pull/7301
Improvement
- [ISSUE #7381] Fix the problem of inaccurate timer message metric by @GenerousMan in https://github.com/apache/rocketmq/pull/7382
- [ISSUE #7389] Fix the problem that getLastMappedFile function affects performance by @guyinyou in https://github.com/apache/rocketmq/pull/7390
- [ISSUE #7393] Add timeout configuration for grpc server by @drpmma in https://github.com/apache/rocketmq/pull/7394
- [ISSUE #7396] Fix wrong word in BrokerController#doResterBrokerAll by @francisoliverlee in https://github.com/apache/rocketmq/pull/7397
- [ISSUE #7313] Enhancement Optimization Method name by @shriVATSA54 in https://github.com/apache/rocketmq/pull/7420
- [ISSUE #7321] Refactor NettyRemotingAbstract with unify future implementation by @drpmma in https://github.com/apache/rocketmq/pull/7322
- [ISSUE #7296] Add ChannelEventListener for MQClientAPIImpl by @drpmma in https://github.com/apache/rocketmq/pull/7324
- [ISSUE #7429] Clean channel map when CLIENT_UNREGISTER in proxy by @xdkxlk in https://github.com/apache/rocketmq/pull/7426
- [ISSUE #7431] Fix flaky test of DLedgerControllerTest#testBrokerLifecycleListener by @RongtongJin in https://github.com/apache/rocketmq/pull/7432
- [ISSUE #7433] Update the version in the README.md document to 5.1.4 by @mxsm in https://github.com/apache/rocketmq/pull/7434
- [ISSUE #7441] Fix log "Init the confirmOffset" keep printing error in controller mode by @fujian-zfj in https://github.com/apache/rocketmq/pull/7442
- [ISSUE #7444] Fix testCalculateFileSizeInPath test can not rerun in same environment by @RongtongJin in https://github.com/apache/rocketmq/pull/7445
- [ISSUE #7425] Add RocketmqControllerConsole log to print config to console by @ingdex in https://github.com/apache/rocketmq/pull/7458
- [ISSUE #7451] Override toString for TopicConfigAndQueueMapping by @LetLetMe in https://github.com/apache/rocketmq/pull/7452
- [ISSUE #7265] Adding how to debug in Idea document by @joeCarf in https://github.com/apache/rocketmq/pull/7266
- [ISSUE #7464] Polish the pop logger format by @joeCarf in https://github.com/apache/rocketmq/pull/7465
- [ISSUE #7330] Fix channel connect issue for goaway by @drpmma in https://github.com/apache/rocketmq/pull/7467
- [ISSUE #7472] AddBroker removes parsing configuration from body by @RongtongJin in https://github.com/apache/rocketmq/pull/7472
- [ISSUE #7454] Utilizing cache to avoid duplicate parsing by @guyinyou in https://github.com/apache/rocketmq/pull/7455
- [ISSUE #7475] Check the input yaml and the path in ACL by @GenerousMan in https://github.com/apache/rocketmq/pull/7475
- [ISSUE #7231] Fix proxy client language error by @weihubeats in https://github.com/apache/rocketmq/pull/7200
- [ISSUE #7489] Code comment enhancement in example by @joeCarf in https://github.com/apache/rocketmq/pull/7490
- [ISSUE #7493] Introduce a new event NettyEventType.ACTIVE by @drpmma in https://github.com/apache/rocketmq/pull/7494
- [ISSUE #7486] Remove getBrokerClusterAclConfig from admin and server by @RongtongJin in https://github.com/apache/rocketmq/pull/7486
- [ISSUE #7497] Extract the frequency of calling updateNamesrvAddr into a configuration by @xdkxlk in https://github.com/apache/rocketmq/pull/7498
- [ISSUE #7437] Add the CRC check of commitlog by @guyinyou in https://github.com/apache/rocketmq/pull/7468
- [ISSUE #7505] Do not validate the length when deleting a topic by @RongtongJin in https://github.com/apache/rocketmq/pull/7506
- [ISSUE #7501] The broker supports idempotence in creating topics by @fuyou001 in https://github.com/apache/rocketmq/pull/7502
- [ISSUE #7523] Message will flush timeout when transientStorePoolEnable=true and flushDiskType=SYNC_FLUSH by @fujian-zfj in https://github.com/apache/rocketmq/pull/7524
- [ISSUE #7531] Clear POP_CK when sending messages by @xdkxlk in https://github.com/apache/rocketmq/pull/7532
- [ISSUE #7419] Fix unstable UtilAllTest#testCalculateFileSizeInPath on Windows by @mureinik in https://github.com/apache/rocketmq/pull/7419
- [ISSUE #7547] Let consumer be aware of message queue assignment change by @lizhanhui in https://github.com/apache/rocketmq/pull/7548
- [ISSUE #7551] Reuse helper methods from Netty to free direct byte buffer by @lizhanhui in https://github.com/apache/rocketmq/pull/7550
- [ISSUE #7570] Add default value for lastPopTimestamp by @HScarb in https://github.com/apache/rocketmq/pull/7571
- [ISSUE #7462] Remove deprecated LocalTransactionExecuter by @985492783 in https://github.com/apache/rocketmq/pull/7463
- [ISSUE #7567] TransactionProducer get the topic route before sending the message by @panzhi33 in https://github.com/apache/rocketmq/pull/7569
- [ISSUE #7543] Retry topic v2 in pop by @drpmma in https://github.com/apache/rocketmq/pull/7544
- [ISSUE #7577] SlaveActingMaster Timer Message retry without escape logic by @AYue-94 in https://github.com/apache/rocketmq/pull/7578
- [ISSUE #7584] Add validation in broker/namesrv configure updating command. by @ShannonDing in https://github.com/apache/rocketmq/pull/7584
- [ISSUE #7587] Add validation in broker container configure updating command by @RongtongJin in https://github.com/apache/rocketmq/pull/7587
- [ISSUE #7586] Add set method for config black list in broker/namesrv/controller config. by @ShannonDing in https://github.com/apache/rocketmq/pull/7586
- [ISSUE #7592] testCleanBuffer unit test modifies, changed non-direct … by @yp969803 in https://github.com/apache/rocketmq/pull/7593
- [ISSUE #7534] Use high performance concurrent set to replace copyonwriteset by @keranbingaa in https://github.com/apache/rocketmq/pull/7583
- [ISSUE #7585] Support message filtering in rocketmq tiered storage by @lizhimins in https://github.com/apache/rocketmq/pull/7594
- [ISSUE #7614] Fix flaky test RocksDBMessageStoreTest by @lizhanhui in https://github.com/apache/rocketmq/pull/7625
- [ISSUE #7638] Bump com.squareup.okio:okio-jvm from 3.0.0 to 3.4.0 by @dependabot in https://github.com/apache/rocketmq/pull/7638
- [ISSUE #7627] Fix flaky test testSemiSyncReplicaWhenAdaptiveDegradation by @RongtongJin in https://github.com/apache/rocketmq/pull/7631
- [ISSUE #7636] Bump snakeyaml from 1.32 to 2.0 by @RongtongJin in https://github.com/apache/rocketmq/pull/7632
- [ISSUE #7637] Bump grpc from 1.50.0 to 1.53.0 by @RongtongJin in https://github.com/apache/rocketmq/pull/7633
- [ISSUE #7634] Introduce controllableOffset to prevent unnecessary suspension when OFFSET_ILLEGAL by @drpmma in https://github.com/apache/rocketmq/pull/7635
- [ISSUE #7585] Always return duplicate buffer when filter message and fix log format by @lizhimins in https://github.com/apache/rocketmq/pull/7654
- [ISSUE #7543] Use "+" as the new separator for retry topic by @drpmma in https://github.com/apache/rocketmq/pull/7655
- [ISSUE #7543] Only call a single type of retry topic in pop by @drpmma in https://github.com/apache/rocketmq/pull/7665
- [ISSUE #7646] Optimize pull onException logging by @drpmma in https://github.com/apache/rocketmq/pull/7647
- [ISSUE #7659] Trim property by @DongyuanPan in https://github.com/apache/rocketmq/pull/7660
- [ISSUE #7656] ConfirmOffset directly takes the max offset when allAckInSyncStateSet is false by @RongtongJin in https://github.com/apache/rocketmq/pull/7657
- [ISSUE #7669] Map variable delayLevelTable changed to ConcurrentSkipL… by @yp969803 in https://github.com/apache/rocketmq/pull/7675
- [ISSUE #7679] Optimize the serialization of RemotingCommand processTimer property by @mxsm in https://github.com/apache/rocketmq/pull/7683
- [ISSUE #7676] Use clientDecode for consuming message directly by @cserwen in https://github.com/apache/rocketmq/pull/7677
- [ISSUE #7680] Bump guava version from 31.1-jre to 32.0.1-jre by @RongtongJin in https://github.com/apache/rocketmq/pull/7681
- [ISSUE #7330] Add goaway and reconnection mechanism by @drpmma in https://github.com/apache/rocketmq/pull/7331
- [ISSUE #7686] The bornTime is not set when using the popMessage API in cluster mode. by @dingshuangxi888 in https://github.com/apache/rocketmq/pull/7687
- [ISSUE #7642] Add return value for sendHeartbeat related method by @drpmma in https://github.com/apache/rocketmq/pull/7643
- [ISSUE #7644] Optimize client rebalance by @drpmma in https://github.com/apache/rocketmq/pull/7645
- [ISSUE #7710] Handle blank string for UtilAll#split to fix the bugs of ACL by @Qinglong-Lee in https://github.com/apache/rocketmq/pull/7712
- [ISSUE #7719] Add more property check for dealy message when auto-ba… by @zhiliatom in https://github.com/apache/rocketmq/pull/7720
- [ISSUE #7543] Add enableRetryTopicV2 brokerConfig by @drpmma in https://github.com/apache/rocketmq/pull/7734
- [ISSUE #7699] Add namespace v2 in client by @drpmma in https://github.com/apache/rocketmq/pull/7700
- [ISSUE #7747] Simplify code checks using Optional in ClientRequestProcessor#getRouteInfoByTopic method by @mxsm in https://github.com/apache/rocketmq/pull/7748
- [ISSUE #7495] Support Higher Java version in Windows by @joeCarf in https://github.com/apache/rocketmq/pull/7507
- [ISSUE #7757] Use
CompositeByteBuf
to prevent memory copy. by @dao-jun in https://github.com/apache/rocketmq/pull/7694 - [ISSUE #7760] Make timerSkipUnknownError can be set by config file by @leizhiyuan in https://github.com/apache/rocketmq/pull/7763
- [ISSUE #7500] Enhanced metrics for timing and transactional messages by @GenerousMan in https://github.com/apache/rocketmq/pull/7500
- [ISSUE #7699] Refactor NamespaceRpcHook by @drpmma in https://github.com/apache/rocketmq/pull/7769
- [ISSUE #7774] Make the handle of ppv2 tlv more extendable by @dingshuangxi888 in https://github.com/apache/rocketmq/pull/7775
- [ISSUE #7781] Get namespace from gRPC header by @drpmma in https://github.com/apache/rocketmq/pull/7782
- [ISSUE #7772] Ensuring broker protection capabilities when POP does not return ACK by @GenerousMan in https://github.com/apache/rocketmq/pull/7773
- [ISSUE #7785] Remove the redundant code by @wyyl1 in https://github.com/apache/rocketmq/pull/7784
- [ISSUE #7777] Optimize the logic of DefaultRequestProcessor#getTopicsByCluster to avoid unnecessary deserialization by @mxsm in https://github.com/apache/rocketmq/pull/7778
- [ISSUE #7786] Optimize the execution logic of tool.sh in the JRE environment by @sevenleave in https://github.com/apache/rocketmq/pull/7787
- [ISSUE #7446] Add config of maxFilterMessageSize by @SchopenhauerZhang in https://github.com/apache/rocketmq/pull/7447
- [ISSUE #5613] Change the broker default value configuration by @yp969803 in https://github.com/apache/rocketmq/pull/7581
- [ISSUE #7765] Fix unit test testEstimateLag by @landonchan90 in https://github.com/apache/rocketmq/pull/7805
- [ISSUE #7797] Update copyright year to 2024 by @RongtongJin in https://github.com/apache/rocketmq/pull/7797
- [ISSUE #7715] Update Bazel toolchain to make the CI work by @bazelisky in https://github.com/apache/rocketmq/pull/7714
- [ISSUE #7791] Polish the code for jraft controller by @RongtongJin in https://github.com/apache/rocketmq/pull/7792
- [ISSUE #7538] Fix wrong cachedMsgSize if msg body is changed in consumer callback by @yuz10 in https://github.com/apache/rocketmq/pull/7807
- [ISSUE #7622] Revise the measurement method of GROUP_GET_LATENCY to reveal its intended semantics by @RongtongJin in https://github.com/apache/rocketmq/pull/7808
- [ISSUE #7803] Add try catch for lock and unlock by @drpmma in https://github.com/apache/rocketmq/pull/7804
- [ISSUE #7740] Optimize LocalFileOffsetStore by @redlsz in https://github.com/apache/rocketmq/pull/7819
- [ISSUE #7822] Fix NettyRemotingClient can't connect to IPv6 address. by @kingkh1995 in https://github.com/apache/rocketmq/pull/7823
Bug
- [ISSUE #7398] Fix ExportConfigsCommand NPE by @shirenchuang in https://github.com/apache/rocketmq/pull/7399
- [ISSUE #7400] Fix getBrokerEpochSubCommand NPE by @shirenchuang in https://github.com/apache/rocketmq/pull/7401
- [ISSUE #7410] Handle the Exception when the Proxy requests the client failed. by @dingshuangxi888 in https://github.com/apache/rocketmq/pull/7411
- [ISSUE #7412] Fix pop revive message error when the checkpoint is a reput one by @redlsz in https://github.com/apache/rocketmq/pull/7413
- [ISSUE #7439] Add getter for class Message to fix json serialize bug by @LetLetMe in https://github.com/apache/rocketmq/pull/7439
- [ISSUE #7453] Fix the problem in constructing the GetMessageResult by @guyinyou in https://github.com/apache/rocketmq/pull/7456
- [ISSUE #7511] Lock granularity issue causing LMQ message loss by @DongyuanPan in https://github.com/apache/rocketmq/pull/7525
- [ISSUE #7562] BugFix for estimating message accumulation correctly by @lollipopjin in https://github.com/apache/rocketmq/pull/7563
- [ISSUE #7574] Fix RunningFlags conflict by @guyinyou in https://github.com/apache/rocketmq/pull/7575
- [ISSUE #7545] Fix set mapped file to null cause file can not destroy by @lizhimins in https://github.com/apache/rocketmq/pull/7612
- [ISSUE #7601] Fix slave acting master bug by @gaoyf in https://github.com/apache/rocketmq/pull/7603
- [ISSUE #7626] Topic perm was mistakenly changed to 4 in dledger mode by @LittleBoy18 in https://github.com/apache/rocketmq/pull/7661
- [ISSUE #7684] Fix iterator.remove() bug by @EvanMi in https://github.com/apache/rocketmq/pull/7682
- [ISSUE #7702] Fix ascii check for ppv2 tls. by @dingshuangxi888 in https://github.com/apache/rocketmq/pull/7703
- [ISSUE #7697] Fix can't open controller metricsExporter. by @baijun44 in https://github.com/apache/rocketmq/pull/7705
- [ISSUE #7689] In Controller mode, messages may lost due to sharing the same cq offset by @GenerousMan in https://github.com/apache/rocketmq/pull/7690
- [ISSUE #7658] Fix bug of timer message metrics with setDelayTimeMs by @leizhiyuan in https://github.com/apache/rocketmq/pull/7743
- [ISSUE #7753] Fix ppv2 tls ascii start with (byte)2 by @dingshuangxi888 in https://github.com/apache/rocketmq/pull/7753
- [ISSUE #7599] Fix dledger recover abnormally may lost consume queue of tail by @bxfjb in https://github.com/apache/rocketmq/pull/7599
- [ISSUE #7812] Remove reachable flag in brokers' available judgement. by @GenerousMan in https://github.com/apache/rocketmq/pull/7814
- [ISSUE #7813] SetStartDetectorEnable Not effective by @leizhiyuan in https://github.com/apache/rocketmq/pull/7825
New Contributors
- @shriVATSA54 made their first contribution in https://github.com/apache/rocketmq/pull/7420
- @LetLetMe made their first contribution in https://github.com/apache/rocketmq/pull/7439
- @golden-yang made their first contribution in https://github.com/apache/rocketmq/pull/7436
- @mureinik made their first contribution in https://github.com/apache/rocketmq/pull/7419
- @985492783 made their first contribution in https://github.com/apache/rocketmq/pull/7463
- @AYue-94 made their first contribution in https://github.com/apache/rocketmq/pull/7578
- @yp969803 made their first contribution in https://github.com/apache/rocketmq/pull/7593
- @LittleBoy18 made their first contribution in https://github.com/apache/rocketmq/pull/7661
- @EvanMi made their first contribution in https://github.com/apache/rocketmq/pull/7682
- @baijun44 made their first contribution in https://github.com/apache/rocketmq/pull/7705
- @Qinglong-Lee made their first contribution in https://github.com/apache/rocketmq/pull/7712
- @dao-jun made their first contribution in https://github.com/apache/rocketmq/pull/7694
- @bxfjb made their first contribution in https://github.com/apache/rocketmq/pull/7599
- @wyyl1 made their first contribution in https://github.com/apache/rocketmq/pull/7784
- @sevenleave made their first contribution in https://github.com/apache/rocketmq/pull/7787
- @yulangz made their first contribution in https://github.com/apache/rocketmq/pull/7301
- @landonchan90 made their first contribution in https://github.com/apache/rocketmq/pull/7805
- @bazelisky made their first contribution in https://github.com/apache/rocketmq/pull/7714
- @kingkh1995 made their first contribution in https://github.com/apache/rocketmq/pull/7823
Full Changelog: https://github.com/apache/rocketmq/compare/rocketmq-all-5.1.4...rocketmq-all-5.2.0