What's Changed
- [ISSUE #6030] Merge the pre-release branch into develop by @drpmma in #6090
- [ISSUE #6103] Add AsyncAppender support for client logging by @aaron-ai in #6104
- [ISSUE #6112] Fix typos in RemoteAddressStrategyFactory by @hardyfish in #6113
- [ISSUE #6101] Remove rebundant code by @hardyfish in #6102
- [ISSUE #6123] Fix flaky test in tiered storage by @ShadowySpirits in #6124
- [ISSUE #6137] Temporarily cancel the protection of the master branch by @RongtongJin in #6139
- [ISSUE #6125] Ignore AutoSwitchRoleIntegrationTest temporarily because it is still flaky by @RongtongJin in #6144
- [ISSUE #6092] Wrong brokerConfigPath when init configuration by @leizhiyuan in #6093
- [ISSUE #6147] Detach RocketmqTraffic from controller_default log by @RongtongJin in #6148
- [ISSUE #6138] Skip log empty remoting code distribution by @yuz10 in #6136
- [ISSUE #6140] Use apache/rocketmq-ci docker repo in CI by @deepsola in #6135
- [ISSUE #6149] Remove handle when exceed renewMaxTimeMillis by @xdkxlk in #6150
- [ISSUE #6141] Validate group when auto create subscription group by @yuz10 in #6142
- [ISSUE #6087] Fix typos by @hardyfish in #6091
- [ISSUE #6138] Add back the protection of the master branch by @RongtongJin in #6143
- [ISSUE #6159] Fix typos by @hardyfish in #6160
- [ISSUE #6161] Match apache actions policy, use apache/rocketmq-test-tool in workflow by @deepsola in #6162
- [ISSUE #6057] Modify magic number code by @hardyfish in #6058
- Polish the unified remoting logger name. by @echooymxq in #6042
- [ISSUE #6163] Fix the issue of infinite retry of order message by @RongtongJin in #6164
- [ISSUE #6180] Polish the issue_template by @RongtongJin in #6181
- [ISSUE #6121] Optimize some code style in store module by @TheR1sing3un in #6122
- [ISSUE #6117] Optimize NettyRemotingServer EventLoopGroup create by @mxsm in #6118
- [ISSUE #6105] Optimize the timer implementation in Remoting by @socutes in #6116
- [ISSUE #6108] Optimize command line tools QueryMsgByKey& QueryMsgTraceById by @socutes in #6115
- [ISSUE #6106] Optimize getQueueIdByBroker naming ambiguity by @socutes in #6109
- [ISSUE #6192] Set a default value when UniqID is empty in Proxy by @xdkxlk in #6193
- [ISSUE #6174] Small optimization of Proxy code and logic by @socutes in #6175
- [ISSUE #6194] The config enableControllerMode and enableDLegerCommitLog cannot both be true by @RongtongJin in #6195
- [ISSUE #6119] Replace ScheduleMessageService method reference by @hardyfish in #6120
- [ISSUE #6131] Simplified ConsumeReviveObj code by @hardyfish in #6132
- [ISSUE #6185] Fix It does not take effect when acl is enabled in the proxy by @Oliverwqcwrw in #6186
- [ISSUE #6182] Remove invalid null check code by @hardyfish in #6183
- [ISSUE #6145] Modify Collections.sort usage by @hardyfish in #6146
- [ISSUE #6196] Update lastConsumeTimestamp and lastPullTimestamp in DefaultLitePullConsumer by @RongtongJin in #6197
- doc:add rocketmq-eventbridge to README.md by @2011shenlin in #6221
- [ISSUE #6060] Optimize AutoSwitchRoleBase#nextPort method by @mxsm in #6068
- [ISSUE #6226] Shutdown flowMonitor when connection disconnect by @RongtongJin in #6227
- [ISSUE #6244] Fix issue template feature request order incorrect by @mxsm in #6245
- [ISSUE #6246] Optimize AcceptSocketService#run by @hardyfish in #6247
- ISSUE[ #6250] Fix wrong value of MessageStoreConfig#storePathEpochFile by @TheR1sing3un in #6251
- [ISSUE #5883] Dledger commit log should override the getData by @absolute8511 in #5879
- [ISSUE #6230] Optimizes ScheduleMessageService code and logic by @socutes in #6231
- [ISSUE #6026] Remove uncompatible sed in runserver.sh by @aaron-ai in #6255
- [ISSUE #6256] Fix several issue about logback configuration by @aaron-ai in #6257
- [ISSUE #6157] fix incompatibility between 4.x and 5.x in message trace by @yuz10 in #6158
- [ISSUE #6266] get MessageId from UNIQ_KEY firstly when build system message by @xdkxlk in #6267
- [ISSUE #6280] Remove rbe_default digest check by @aaron-ai in #6281
- Use static subscription to calculate consumer lag and latency by @drpmma in #6207
- [ISSUE #6133] Update the version information to 5.1.0 in README.md by @mxsm in #6134
- [ISSUE #6213] When subscriptionGroupConfig is null ,we do not register consumer by @leizhiyuan in #6214
- [ISSUE #6169] Fix NPE when timerWheel disabled by @RongtongJin in #6184
- [ISSUE #6189] Replace ThreadFactory create by @hardyfish in #6190
- [ISSUE #6235] Removed the ForwardRequestProcessors class that is not being used by @socutes in #6289
- [ISSUE #6283] Fix the bug that single replica cannot flush data when transientStorePoolEnable is true by @RongtongJin in #6284
- [ISSUE #6285] Polish the DLedgerControllerStateMachine log output to help troubleshoot by @RongtongJin in #6286
- Support proxy to get consumer connection list by @lyx2000 in #6296
- [ISSUE #6306] Fix unexpected state from slave by @fujian-zfj in #6307
- [ISSUE #6302] Fix DefaultMQPushConsumerImpl code style by @mxsm in #6303
- [ISSUE #6318] Upgrade dledger version to 0.3.1.1 by @RongtongJin in #6319
- [ISSUE #6308] Fix docs by @Star-tears in #6301
- [ISSUE #6316] Nameserver should choose a master with a larger epoch when there are two masters in controller mode by @RongtongJin in #6317
- [ISSUE #6272] Add judgment for SendLatencyFault in MQFaultStrategy#selectOneMessageQueue by @mxsm in #6273
- [ISSUE #5663] Fix Messages may be lost when SyncStateSet expand in extreme scenarios by @hzh0425 in #5798
- [ISSUE #6311] Fixed the proxy configuration path null value problem by @socutes in #6311
- [ISSUE #6331]Optimlize DefaultMQPushConsumerImpl#subscribe method by @mxsm in #6332
- [ISSUE #5989] Support unique broker-id as identification in controller mode by @TheR1sing3un in #6100
- [ISSUE #6333] Simplify the logic of the FilterAPI#buildSubscriptionData method by @mxsm in #6334
- [ISSUE #6328] Fix ConfigurationManagerTest by @xdkxlk in #6329
- [ISSUE #6339] Set message's flag in popRevive by @xdkxlk in #6340
- [ISSUE #6268] Fix rocketmq-proxy does not work properly in k8s nodePort mode by @Misaki030112 in #6262
- [ISSUE #6215] Make benchmark cover compress msg situation by @humkum in #6216
- [ISSUE #6313] com.google.guava version upgraded by @socutes in #6314
- [ISSUE #5678] Add logging exporter for metrics by @lrybbs in #6234
- [ISSUE #6346] Support asynchronously notify brokers when their roles has been changed by @TheR1sing3un in #6348
- [ISSUE #6292] Fix typos by @hardyfish in #6293
- [ISSUE #6343] Fix consumeQueueExtDir not deleted when deleting topic by @redlsz in #6351
- [ISSUE #6347] Fix: use mutable list to avoid start fail when enable tiered store by @leizhiyuan in #6349
- [ISSUE#6342] Local SyncStatSet sync to remote value when changeToMaster by @GenerousMan in #6352
- [ISSUE #6358] Add chinese docs about persistent-unique-broker-id by @TheR1sing3un in #6359
- ReceiptHandleProcessor message renewal strategy optimization by @socutes in #6271
- [ISSUE #6287] Fixed two redundant judgments by @socutes in #6288
- [ISSUE #6344] QueueOffsets in topicQueueTable rollback when master changes to master in ha mode by @fujian-zfj in #6345
- [ISSUE #6380] Optimize switch cases in BrokerOuterAPI. by @GenerousMan in #6381
- [ISSUE #6372] New scheduledExecutor clean consume queue by @fuyou001 in #6376
- [ISSUE #6365] Fix no log in benchmark by @yuz10 in #6366
- [ISSUE #6390] Add break to the exception of WHEEL_TIMER_NOT_ENABLE. by @GenerousMan in #6394
- [ISSUE #6377] Polish the code when broker change to master by @RongtongJin in #6378
- [ISSUE #6026] Fix the problem that the custom JAVA_HOME environment variable does not take effect by @Oliverwqcwrw in #6167
- [ISSUE #6396] Fix DefaultMQPushConsumer javadoc typo by @mxsm in #6397
- [ISSUE #6392] GetSyncStateSet prints replica's alive status by @GenerousMan in #6393
- [ISSUE #6408] Due to network issues, use new ASK cluster in VIRGINA to run e2e test by @deepsola in #6409
- [ISSUE #6406] Add more visual comments on
IndexFile
&IndexHeader
&ConsumeQueue
by @TheR1sing3un in #6407 - [ISSUE #6419] Dledger new version to fix problem in issue 282 by @fujian-zfj in #6418
- [ISSUE #6421] Fix the encode bug. by @GenerousMan in #6422
- [ISSUE #6402] Opt transaction message check by @Focus-rth in #6401
- [ISSUE #6382] Periodically check for inactive masters by @TheR1sing3un in #6383
- [ISSUE #6386] Some improvements for compactionTopic by @guyinyou in #6387
- [ISSUE #6438] Optimizing the memory usage of MultiProtocolRemotingServer by @xdkxlk in #6439
- [ISSUE #6373] Optimized log printing and fixed null pointer exceptions by @socutes in #6375
- [ISSUE #6449] Fix NPE in MultiProtocolRemotingServer by @xdkxlk in #6450
- [ISSUE #6440] Optimize the code of consumer thread name,and support t… by @crzbird in #6441
- [ISSUE #6424] Make topicConfig updating atomically by @guyinyou in #6426
- [ISSUE #6399] When the proxy starts, the log displays the configuration details by @socutes in #6453
- [ISSUE #6454] Fix unsafe shutdown process in tiered storage by @ShadowySpirits in #6455
- [ISSUE #6414] polish MQClientAPIImpl.getDefaultTopicRouteInfoFromName… by @miles-ton in #6452
- [ISSUE #4890] Fx binary search consume offset by time by @GenerousMan in #6429
- [ISSUE #6459] Add rpc validatation for gRPC in PlainAccessResource by @drpmma in #6460
- [ISSUE #6400] Remove unnecessary config BrokerConfig.maxDelayTime by @caigy in #6465
- [ISSUE #6469] Translation persistent_unique_broker_id.md (CN->EN) by @mxsm in #6470
- [ISSUE #6466] Add ForbiddenType when Broker process PullMessage return no permission by @mxsm in #6467
- build(deps): bump spring-core from 5.3.23 to 5.3.26 by @dependabot in #6464
- [ISSUE #6474] Optimize ServiceThread log print by @mxsm in #6475
- [ISSUE #6390] Add break to the exception of WHEEL_TIMER_NOT_ENABLE. by @yuz10 in #6477
- [ISSUE #6462] Optimize PushConsumer code and logic by @YonminMa in #6463
- [ISSUE #6430] Scan topic.json to find compactionTopic and copy it by @guyinyou in #6431
- [ISSUE #6445] Fix the attribute of the compaction topic doc by @Oliverwqcwrw in #6451
- [ISSUE #6478] Fix outTPS in mqadmin when using compactionTopic by @guyinyou in #6479
- [ISSUE #6482] Rename the variable "filepath" to "filePath" on line 55 of PosixFileSegment.java by @Sena0777 in #6483
- [ISSUE #6484] Revert inappropriate modification by @ShadowySpirits in #6485
- [ISSUE #6488] Use ServiceThread#shutdown to replace the deprecated ServiceThread#stop method by @mxsm in #6489
- [ISSUE #6321] Optimize yaml parse code by @yuz10 in #6322
- [ISSUE #6324] Improving compact topic stability by @fuyou001 in #6353
- [ISSUE #6263] Use true address from channel by @schneiderlin in #6279
- [ISSUE #6492] Polish persistent unique broker id document by @RongtongJin in #6493
- [ISSUE #6203] Allow to publish delay message with arbitrary timestamp by @aaron-ai in #6204
- [ISSUE #6497] Flush in compactionTopic by @guyinyou in #6498
- [ISSUE #6473] Fix multi dispatch error when enableMultiDispatch=true and enableLmq=true by @fujian-zfj in #6476
- [ISSUE #6501] Replace deprecated DLedgerServer#getdLedgerStore method by @mxsm in #6502
- Only enable the squash button when merging a pull request by @zhouxinyu in #6504
- [ISSUE #6508] Prohibit writing and reading before confirming the broker role in ha mode by @fujian-zfj in #6509
- [ISSUE #6518] Fix bug that multi-threaded using bytebuffer by @guyinyou in #6519
- [ISSUE #6523] Schematic diagram of adding BatchConsumeQueue storage unit by @mxsm in #6524
- [ISSUE #6529] Some improvements for compactionTopic by @guyinyou in #6530
- [ISSUE #6436] Fix broker boot succes but get wrong ip address by @SchopenhauerZhang in #6437
- [ISSUE #6299] Remove TimerFlushService#run duplicate code by @hardyfish in #6300
- Temporary removal of required maven-compile status check by @aaron-ai in #6561
- Upgrade the image to the latest version by @aaron-ai in #6562
- [ISSUE #6001] Remove unnecessary code by @coderbruis in #6564
- [ISSUE #6547] Some RemotingChannel calls need to be forwarded to the original Channel by @xdkxlk in #6548
- Update the image of bazel-build to ubuntu-latest by @aaron-ai in #6569
- [ISSUE #6581] Add a description of the Apache RocketMQ E2E repository in README.md by @cryptoya in #6582
- [ISSUE #6579] Prevent the properties of trace message from exceeding the maximum value of short by @RongtongJin in #6580
- [ISSUE #6584] Fix AppendMessageCallback comments typo by @mxsm in #6585
- [ISSUE #6513] Enhance ProxyContext by @lyx2000 in #6522
- [ISSUE #6587] Fix getMax() in SparseConsumeQueue by @guyinyou in #6588
- [ISSUE #6525] Make ConsumeQueueInterface extends from FileQueueLifeCycle by @Abhijeetmishr in #6534
- [ISSUE #6545] Remove getTopicConfigs method in interface MessageStore by @joeCarf in #6531
- [ISSUE #6591] Fix Starting nameserver and broker failed because the default java path in Darwin contained Spaces by @Oliverwqcwrw in #6592
- Logback config path seperator and brokerLogDir default value m… by @superhx in #6590
- [ISSUE #6612] Prevent redundant validator in accessValidatorList by @joeCarf in #6615
- Bump spring-core from 5.3.26 to 5.3.27 by @dependabot in #6604
- [ISSUE #6610] Fix the issue broker startup failed when version upgrade from 5.1.0 to latest develop because compactionThreadNum is 0 by @RongtongJin in #6611
- [ISSUE #6594] Skip verification when admin user by @miles-ton in #6613
- [ISSUE #6627] Fix ConsumerLagCalculator#processAllGroup retry topic NPE by @drpmma in #6628
- [ISSUE #6634] Polish the HA logs to better troubleshoot issues by @RongtongJin in #6635
- [ISSUE #6627] Fix ConsumerLagCalculator NPE if group or topic is null by @lizhimins in #6632
- [ISSUE #6537] Fix bug MessageStoreConfig.haListenPort item config not… by @haiyanghan in #6538
- [ISSUE #6570] Fix the issue that expectLogicOffset is greater than currentLogicOffset in consumeQueue build when the message is illegal by @RongtongJin in #6641
- [ISSUE #6648] Fix the bug that not all message fetch requests are processed via TieredStorage when level is FORCE by @TheR1sing3un in #6649
- [ISSUE #6629] Rewrite the issue/PR template of RocketMQ by @aaron-ai in #6645
- [ISSUE# 6650] Fix using the deprecated method
MessgaeStore#checkInDiskByConsumeOffset
by @TheR1sing3un in #6651 - [ISSUE #6644] Add admin client future interface by @drpmma in #6646
- [ISSUE #6660] Fix semaphoreAsyncSendSize init error by @ferrirW in #6661
- [ISSUE #6662] Optimize the process of HA's confirmOffset calculation by @GenerousMan in #6663
- [ISSUE #6686] Remove ClientManageProcessor#heartBeat repeat judgment by @mxsm in #6687
- [ISSUE #6609] Fix the issue that consume queue building exceeds confirmOffset when node restarts to recover by @RongtongJin in #6618
- [ISSUE #6665] Optimize the process of truncateInvalidMsgs() by @GenerousMan in #6666
- [ISSUE #6673] Issue template enhancements by @mxsm in #6674
- [ISSUE #6691] Support reentrant pop orderly for broker by @xdkxlk in #6692
- [ISSUE #6684] Removed the Unused code and Update AclUtils.java by @nikam14 in #6689
- [ISSUE #6696] Refector proxy common and client module by @drpmma in #6697
- [ISSUE #6693] Fix the description of the acl directory in the document is incorrect by @Oliverwqcwrw in #6694
- [ISSUE #6706] BrokerPermission cannot stop messages flow in unwritable brokers by @GenerousMan in #6707
- [ISSUE #6703] Fix the incorrect of confirmOffset when recovering abnormally caused by message loss due to asynchronous flushing after restarting by @RongtongJin in #6704
- [ISSUE #6708] Use GitHub cache for CodeQL by @aaron-ai in #6709
- [ISSUE #6701] Bump opentelemetry version to 1.26.0 by @ShadowySpirits in #6705
- [ISSUE #6699] Make NotificationProcessor use PopLongPollingService by @drpmma in #6700
- [ISSUE #6516] Remove redundant code from ThreadLocalIndex by @xuziyang in #6517
- [ISSUE #6712] Remove useless method BrokerOuterAPI#pullMessageFromSpecificBroker by @mxsm in #6713
- [ISSUE #6714] Replace the deprecated method DefaultMQPushConsumer#getDefaultMQPushConsumerImpl by @mxsm in #6715
- [ISSUE #6722] Bugfix timer thread has error when timer not enable by @SchopenhauerZhang in #6723
- [ISSUE #6728] Compute the confirmOffset without considering new connections by @GenerousMan in #6729
- Make configPath unable to update at runtime by @RongtongJin in #6733
- Remove filter server module by @RongtongJin in #6749
- [ISSUE #6752] Prepare to release RocketMQ 5.1.1 by @RongtongJin in #6753
New Contributors
- @leizhiyuan made their first contribution in #6093
- @2011shenlin made their first contribution in #6221
- @absolute8511 made their first contribution in #5879
- @lyx2000 made their first contribution in #6296
- @Star-tears made their first contribution in #6301
- @lrybbs made their first contribution in #6234
- @redlsz made their first contribution in #6351
- @crzbird made their first contribution in #6441
- @miles-ton made their first contribution in #6452
- @YonminMa made their first contribution in #6463
- @Sena0777 made their first contribution in #6483
- @schneiderlin made their first contribution in #6279
- @SchopenhauerZhang made their first contribution in #6437
- @cryptoya made their first contribution in #6582
- @Abhijeetmishr made their first contribution in #6534
- @joeCarf made their first contribution in #6531
- @superhx made their first contribution in #6590
- @haiyanghan made their first contribution in #6538
- @nikam14 made their first contribution in #6689
- @xuziyang made their first contribution in #6517
Full Changelog: rocketmq-all-5.1.0...rocketmq-all-5.1.1