What's Changed
- [ISSUE #3887 ] fix validate fail after update acl by @yuz10 in #3888
- [ISSUE #3898]fix the spell in MQClientAPIImpl by @zhangjidi2016 in #3899
- [ISSUE #3890] add 'brokerAddress' param for ConsumerConnectionSubCommand by @MatrixHB in #3891
- [ISSUE #3877] Remove unnecessary Exception thrown by MQClientAPIImpl#createSubscriptionGroup by @HScarb in #3880
- [ISSUE #2993] fix testTruncateCQ on Windows by releasing mapped files. by @HScarb in #3865
- [ISSUE #3859] enhance the cal of latency for putting message by @cserwen in #3862
- [ISSUE #3911] Fix ThreadLocalIndexTest does not actually assert the value by @HScarb in #3912
- [ISSUE #3875] fix unable to delete last acl account. by @yuz10 in #3876
- [ISSUE #3918] readme add rocketmq dashboard link by @cserwen in #3919
- [ISSUE #3915] readme add rocketmq connect link by @odbozhou in #3916
- [ISSUE #3900] Fix that wrong dir is created when using mult-dirs storage by @cserwen in #3901
- [#3903] Add topic validation, forbid sending message to system topic by @sunxi92 in #3904
- fix some docs error by @Hen1ng in #3926
- [ISSUE #3896] fix log format error by @panzhi33 in #3897
- Improve Issue Template by @lizhanhui in #3932
- Add language code for Rust by @lizhanhui in #3931
- [Issue #3922] Fix bugs in ACL modification by @caigy in #3927
- [ISSUE #3561] fix by @ymingxu in #3936
- Update best_practice.md by @HMYDK in #3939
- [ISSUE #3950] Anonymous new Callable() replaced with lambda by @li-xiao-shuang in #3951
- [ISSUE #3957] fix #3957 LmqConsumerOffsetManager deserialize error by @tianliuliu in #3958
- docs: Add the link to Apache RocketMQ MQTT in the readme.md by @XiaoyiPeng in #3971
- fix a flaky test by @MundaneImmortal in #3959
- [ISSUE# 3966] Fix using wrong offset when deliver in ScheduleService by @RongtongJin in #3967
- [ISSUE #3882]Nameserver change modify
topicQueueTable
inRouteInfoManager
by @WJL3333 in #3881 - [ISSUE #3955] delete useless check by @ferrirW in #3956
- [ISSUE#3983] Duplicated warn log in class DefaultMQProducerImpl is unnecessary. by @XiaoyiPeng in #3984
- [ISSUE #3985] Remove shuffle operation before sorting the list of 'FaultItem'. by @XiaoyiPeng in #3986
- [#3942]If both acl and message trace are enabled and the default topic RMQ_SYS_TRACE_TOPIC is used for message trace, you don't need to add the PUB permission of RMQ_SYS_TRACE_TOPIC topic to the acl config. by @sunxi92 in #3943
- [ISSUE #4000]Fix the warn log input in command tools by @zhangjidi2016 in #4001
- Add shutdown script for batchproducer.sh by @humkum in #4015
- [ISSUE #4002]Optimize some mqadmin command execution results output by @zhangjidi2016 in #4003
- [ISSUE #3924] It may be better to change the method StoreStatsService#initPutMessageDistributeTime() to private. by @XiaoyiPeng in #3925
- fix docs error by @Hen1ng in #4023
- [ISSUE #4028] wrong log output by @panzhi33 in #4029
- [ISSUE #4004] Initialize deliverPendingTable, When the ScheduleService is started by @HScarb in #4032
- [ISSUE #4040] Unnecessary toString methods deleted by @hjl11 in #4041
- [Minor] RemotingCommandException is not thrown in a method by @li-xiao-shuang in #4030
- [ISSUE #4048] Make storePathCommitLog base on storePathRootDir by @HScarb in #4049
- [ISSUE #4053] NamesrvController code optimization by @li-xiao-shuang in #4027
- [ISSUE #4054] fix doc format by @Git-Yang in #4055
- [ISSUE #4050] fix origin messsage id missing from dead leetter meessage by @Git-Yang in #4051
- fix clusterRT and checkMsgSendRT by @meateggmilk in #4047
- [ISSUE #3699] fix unit test by @Git-Yang in #3700
- [ISSUE #4035] rename some commands by @yuz10 in #4036
- [ISSUE #4048] Make storePathCommitLog base on storePathRootDir by @HScarb in #4057
- [Document] Update user_guide.md: Fix for link. by @dugenkui03 in #4085
- [ISSUE #4110] Update dledger version to 0.2.4 by @RongtongJin in #4111
- [ISSUE #4125] Anonymous new Runnable() can be replaced with lambda by @li-xiao-shuang in #4031
- Fixed typo in getStartIndex method in RocketMQ_Example.md file by @zfs9521 in #4012
- [ISSUE #3940]Optimize AllocateMessageQueueStrategy by @zhangjidi2016 in #3941
- [ISSUE #4129] Fix typo in CommitLog.java by @drgnchan in #4126
- Bump junit from 4.12 to 4.13.1 in /test by @dependabot in #4119
- fix some error by @Hen1ng in #4136
- fix mac 12+ slow bug by @luky116 in #4010
- [ISSUE #4155] fix system property setting causing data conflicts in acl test by @caigy in #4156
- [ISSUE #4150] Fix spelling problem on docs/en by @gogodjzhu in #4141
- [ISSUE #4033] fix async deliver msg will resend forever when serivce not avliable by @Git-Yang in #4045
- Optimize the logic of MessageDecoder#decodeMessageId method by @BurningCN in #4082
- [ISSUE #4103] Simplify string-list-join in
Message
by @dugenkui03 in #4104 - Replace Charset.forName("UTF-8") with StandardCharsets.UTF_8 by @6U-U9 in #4024
- MINOR:cleanup code by @Kvicii in #4013
- Remove file lock related code snippets in index file by @BurningCN in #4135
- [ISSUE #4123] Explicit type argument can be replaced with <> for RouteInfoManager by @li-xiao-shuang in #4124
- [ISSUE #4175] Prevent update topic on slave by @HScarb in #4176
- [ISSUE #4160]remove the final modifier of a method which is already in a final class by @xyjForCoding in #4163
- [ISSUE #4165] add new line in sendMsgStatus by @yuz10 in #4166
- Bugfix DefaultMessageStore#getEarliestMessageTime() bug in Dledger mode by @HScarb in #4168
- [ISSUE #4185] Explicit type argument can be replaced with <> by @li-xiao-shuang in #4186
- [ISSUE #4127] [BrokerOuterAPI] Anonymous new Runnable() can be replaced with lambda by @li-xiao-shuang in #4128
- [ISSUE #4187]Support async publish in producer benchmark by @HScarb in #4188
- [ISSUE #4183] When the reportSlaveMaxOffset method fails, end the current loop early by @BurningCN in #4184
- [ISSUE #4181] Prevent int overflow in
TraceContext
by @dugenkui03 in #4182 - [ISSUE #3914] Support multi dirs storage in DLedger by @cserwen in #4122
- [ISSUE #4147] javadoc: Fix the problem described in the warning message prompted by the IDE. by @XiaoyiPeng in #4148
- [ISSUE #4107] rocketmq-tools should not depend on rocketmq-store by @yuz10 in #4108
- update cn design doc by @samz406 in #4205
- [Optimization] Replace Timer to ScheduleExecutorService by @Oliverwqcwrw in #4208
- [ISSUE 3585] [Part B] Improve encode/decode performance by @areyouok in #3588
- [ISSUE #4099]Optimized the performance of sending traceMessage in
AsyncTraceDispatcher
by @dugenkui03 in #4180 - [Docs] Add squash guide and apache contributors guide link in CONTRIBUTING by @ferrirW in #4221
- [ISSUE #4130] Remove the exception which will never be thrown by method from method signature by @dugenkui03 in #4132
- format code KVConfigManager by @123monkey in #4222
- [ISSUE #4211] Fix diskMaxUsedSpaceRatio does not take effect in dLedger by @cserwen in #4212
- [ISSUE #4215] OFFSET_OVERFLOW_BADLY will lead to consumption from begin, a large number of repeated consumption by @iamqq23ue in #4219
- [ISSUE #4237] REMOVE unnecessary final modifier by @yuancheng314 in #4238
- [ISSUE #4239] Use function computeIfAbsent replace if by @MinXie1209 in #4231
- [Optimization] Remove redundant queue by @Oliverwqcwrw in #4240
- [ISSUE #4216] fix HmacSHA1 not available when use benchmark by @francisoliverlee in #4217
- [ISSUE #4203] Support zstd/lz4 compression to improve send/receive performance by @ferrirW in #4213
- [ISSUE-#4251]Add batch flag by @dongeforever in #4252
- [ISSUE #3857] refact getPublishTopicList method and subscriptions method redundant code by @xichaodong in #3879
- [ISSUE #4254] use function computeIfAbsent replace if by @MinXie1209 in #4255
- [ISSUE #4227] fix ACL tests on Windows by @HScarb in #4278
- [ISSUE #4284] Add protocols to readme and delete the description of language clients by @123liuziming in #4285
- [ISSUE #4286] add link of rocketmq-site to readme by @logicalee in #4288
- [ISSUE #4291] Add some description text to README by @hyl-xidian in #4294
- [ISSUE #4283] add an description in readme. by @TuringLiu in #4293
- fix: delete a feature in Readme by @Jacob-Mr-Yang in #4298
- [ISSUE #4304] Fix license check failures by @caigy in #4305
- [ISSUE #4310] Optimize serviceProvider's code by @hzh0425 in #4311
- [ISSUE #3962] Fix variable name in MappedFile#isAbleToCommit() by @tsunghanjacktsai in #4312
- [ISSUE # 4308] Make some variables to be final in brokerController by @hzh0425 in #4309
- Fix typo in the broker's log path by @gobbq in #4307
- [ISSUE #4315] Optimize ha module's code by @hzh0425 in #4316
- [ISSUE #4320] Anonymous new PrivilegedAction can be replaced with lambda by @hzh0425 in #4321
- [ISSUE #4332] Remove duplicate code by @coderbruis in #4331
- [ISSUE #4317] Fix for statement does not loop by @coderbruis in #4314
- [ISSUE #4318]make some variables to be final in IndexHeader by @hzh0425 in #4319
- [ISSUE #4287]add detail descriptions to readme by @xyjForCoding in #4295
- [ISSUE #4292] Add description to the community list of README file by @terrance-swn in #4296
- [ISSUE #4289] Add some detail descriptions to README by @wzgliang in #4303
- Add a rough guide for quick start by @gobbq in #4302
- [ISSUE #4327] Init collection size by @Oliverwqcwrw in #4214
- [ISSUE #4326] Optimized code by @Oliverwqcwrw in #4258
- [ISSUE #4325] Remove redundant exception to improve readability by @Oliverwqcwrw in #4279
- [ISSUE #4335] Replace deprecated api by @Oliverwqcwrw in #4336
- [ISSUE #4323] Optimized openmessaging example code by @li-xiao-shuang in #4347
- [ISSUE #3804]Commit consumption offset with specific MessageQueue. by @ni-ze in #3838
- [ISSUE #4362] remove redundancy group name check of null in method org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl#checkConfig by @GLBB in #4363
- Formatting code of maven dependencies management by @aaron-ai in #4371
- [ISSUE #4372] Make it compile with Java9+ by @aaron-ai in #4373
- [ISSUE #4067] fix: Add TLS configuration documents. by @chris-joys in #4387
- [ISSUE #4391]optimize for printObjectProperties by @dugenkui03 in #4392
- [ISSUE #4323] Schedule example add the default NamesrvAddr by @li-xiao-shuang in #4352
- [ISSUE #4226] Message length exceeds the maximum length when sendback by @ni-ze in #4338
- Something in docs may cause confusion by @Dios314 in #4403
- [iSSUE-4396] Support get all producer on one broker by @francisoliverlee in #4395
- [ISSUE #4410] Optimize method org.apache.rocketmq.common.message.MessageDecoder#messageProperties2String, remove useless check by @GLBB in #4411
- [ISSUE #4323] Optimized namespace example code by @li-xiao-shuang in #4346
- [ISSUE #2435] Solve the problem that DefaultMQProducer#request() sends messages and waits for timeout synchronously by @li-xiao-shuang in #4313
- [ISSUE #4323] Quickstart adds the default NamesrvAddr by @li-xiao-shuang in #4322
- [ISSUE #4323] Batch example add the default NamesrvAddr by @li-xiao-shuang in #4328
- [ISSUE #4323] Broadcast example add the default NamesrvAddr by @li-xiao-shuang in #4344
- [ISSUE #4323] tracemessage example add the default NamesrvAddr by @li-xiao-shuang in #4353
- [ISSUE #4323] Transaction example add the default NamesrvAddr by @li-xiao-shuang in #4354
- [ISSUE #23] solve error Algorithm HmacSHA1 not available when your java_home is not found by @TianMing2018 in #3869
- [ISSUE #4416] Update dledger version to 0.2.6 by @RongtongJin in #4417
- [ISSUE #4377]Unnecessary null check before method call by @coderbruis in #4378
- [ISSUE #4365] acl PlainPermissionManager key file paths set to same by @fulln in #4366
- [ISSUE #4263]Delete topic route info based on cluster when delete topic. by @sunxi92 in #4268
- [ISSUE #4419] Upgrade maven-checkstyle-plugin to 3.1.2 by @drpmma in #4420
- [#4151]Add option p to the updateGlobalWhiteAddr command. by @sunxi92 in #4152
- Let name server generate valid JSON response when process topic route queries by @lizhanhui in #4432
- [ISSUE #4349] fix negative index when index reach Integer.MAX_VALUE by @Wushiyii in #4447
- [ISSUE #4455] add a schedule task to update namesrv address by @cserwen in #4456
- [ISSUE #4426]fix ACL issue when sending messages back by @caigy in #4457
- [ISSUE #4037] Add DeleteExpiredCommitLogSubCommand by @HScarb in #4038
- [ISSUE #4058] DLedgerCommitLog support LMQ by @chaiyx in #4059
- Generate legal JSON response conditionally by @lizhanhui in #4473
- [ISSUE #3906] Mark stream-related request by RequestType by @drpmma in #4430
New Contributors
- @Hen1ng made their first contribution in #3926
- @caigy made their first contribution in #3927
- @ymingxu made their first contribution in #3936
- @HMYDK made their first contribution in #3939
- @MundaneImmortal made their first contribution in #3959
- @hjl11 made their first contribution in #4041
- @dugenkui03 made their first contribution in #4085
- @zfs9521 made their first contribution in #4012
- @dependabot made their first contribution in #4119
- @luky116 made their first contribution in #4010
- @gogodjzhu made their first contribution in #4141
- @6U-U9 made their first contribution in #4024
- @xyjForCoding made their first contribution in #4163
- @samz406 made their first contribution in #4205
- @Oliverwqcwrw made their first contribution in #4208
- @123monkey made their first contribution in #4222
- @iamqq23ue made their first contribution in #4219
- @yuancheng314 made their first contribution in #4238
- @MinXie1209 made their first contribution in #4231
- @francisoliverlee made their first contribution in #4217
- @xichaodong made their first contribution in #3879
- @123liuziming made their first contribution in #4285
- @logicalee made their first contribution in #4288
- @hyl-xidian made their first contribution in #4294
- @TuringLiu made their first contribution in #4293
- @Jacob-Mr-Yang made their first contribution in #4298
- @gobbq made their first contribution in #4307
- @coderbruis made their first contribution in #4331
- @terrance-swn made their first contribution in #4296
- @wzgliang made their first contribution in #4303
- @GLBB made their first contribution in #4363
- @chris-joys made their first contribution in #4387
- @Dios314 made their first contribution in #4403
- @TianMing2018 made their first contribution in #3869
- @fulln made their first contribution in #4366
- @Wushiyii made their first contribution in #4447
- @chaiyx made their first contribution in #4059
Full Changelog: rocketmq-all-4.9.3...rocketmq-all-4.9.4