diff --git a/release-notes/2024-01-30-5.2.0.md b/release-notes/2024-01-30-5.2.0.md new file mode 100644 index 0000000000..d0d3047d6c --- /dev/null +++ b/release-notes/2024-01-30-5.2.0.md @@ -0,0 +1,161 @@ +--- +title: "Release Notes - Apache RocketMQ - Version 5.2.0" +categories: + - Release_Notes +tags: + - Release_Notes + - RocketMQ + - Version +--- + +:::tip Download the 5.2.0 release +- Source: [rocketmq-all-5.2.0-source-release.zip](https://dist.apache.org/repos/dist/release/rocketmq/5.2.0/rocketmq-all-5.2.0-source-release.zip) [[PGP](https://dist.apache.org/repos/dist/release/rocketmq/5.2.0/rocketmq-all-5.2.0-source-release.zip.asc)] [[SHA512](https://dist.apache.org/repos/dist/release/rocketmq/5.2.0/rocketmq-all-5.2.0-source-release.zip.sha512)] +- Binary: [rocketmq-all-5.2.0-bin-release.zip](https://dist.apache.org/repos/dist/release/rocketmq/5.2.0/rocketmq-all-5.2.0-bin-release.zip) [[PGP](https://dist.apache.org/repos/dist/release/rocketmq/5.2.0/rocketmq-all-5.2.0-bin-release.zip.asc)] [[SHA512](https://dist.apache.org/repos/dist/release/rocketmq/5.2.0/rocketmq-all-5.2.0-bin-release.zip.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 \ No newline at end of file