Download the 4.9.3 release
- Source: rocketmq-all-4.9.3-source-release.zip [PGP] [SHA512]
- Binary: rocketmq-all-4.9.3-bin-release.zip [PGP] [SHA512]
Below is a summary of the issues addressed in the 4.9.3 release of RocketMQ. For full documentation of the release, a guide to get started, please refer to Quick Start.
Feature
- [RIP-9] - [RIP-9] add DefaultPullConsumer api doc
- [RIP-28] - [RIP-28] light message queue(LMQ)
- [ISSUE-2986] - [ISSUE-2986] - Support for multiple ACL files in a fixed directory
Improvement
- [ISSUE-3585] - [ISSUE-3585] - [Part F] eliminate regex match in topic/group name check
- [ISSUE-3585] - [ISSUE-3585] - [Part H] Avoid unnecessary StringBuilder resizing on critical path
- [ISSUE-3585] - [ISSUE-3585] - [Part J] Use MappedByteBuffer instead of FileChannel to …
- [ISSUE-3223] - [ISSUE-3223] - Optimize startup script to support greater jdk version
- [ISSUE-3449] - [ISSUE-3449] - Delayed message supports asynchronous delivery
- [ISSUE-3487] - [ISSUE-3487] - Benchmark supports custom AK/SK
- [ISSUE-3832] - [ISSUE-3832] - in order to improve the performance by change the variable location of queueId
- [ISSUE-3827] - [ISSUE-3827] - Improve Performance of transactional message and schedule message
- [ISSUE-3173] - [ISSUE-3173] - Isolate Broker logs when multiple Broker services are deployed on the same machine.
- [ISSUE-3825] - [ISSUE-3825] - Use default SO_SNDBUF/SO_RCVBUF/WRITE_BUFFER_WATER_MARK value
- [ISSUE-3818] - [ISSUE-3818] - update guava to 31.0.1-jre
- [ISSUE-3812] - [ISSUE-3812] - DefaultMQProducer#sendKernelImpl Line760 tranMsg does not need to check for null when using Boolean.parseBoolean()
- [PR-3695] - [PR-3695] Remove useless code
- [PR-3850] - [PR-3850] Re-enable testing on ARM64
- [PR-3762] - [PR-3762] Avoid new lines in log
- [PR-3269] - [PR-3269] add defaultRequestProcessor test
- [PR-3674] - [PR-3674] add tests for computePullFromWhereWithException
- [ISSUE-3674] - [ISSUE-3674] Add unit test for AllocateMessageQueueAveragelyByCircle
- [ISSUE-1665] - [ISSUE-1665] - Add more unit test for Validators
- [ISSUE-3674] - [ISSUE-3674] - add tests for AllocateMessageQueueAveragely
- [ISSUE-3602] - [ISSUE-3602] - add AdminBrokerProcessor Test
- [ISSUE-3674] - [ISSUE-3674] - Improve the test cases of the tools module
- [ISSUE-3724] - [ISSUE-3724] - : Polish the unit test of class ConsumeMessageConcurrentlyService
- [PR-3214] - [PR-3214] optimize namesrv default address docs
- [ISSUE-3692] - [ISSUE-3692] - docs: Modify the title content about the message query documentation.
- [ISSUE-3757] - [ISSUE-3757] - docs: Polish the document 'Design_Query.md'.
- [ISSUE-3801] - [ISSUE-3801] - Polish the document 'CLITools.md'.
- [ISSUE-3794] - [ISSUE-3794] - add DefaultMQPullConsumer document specification
- [ISSUE-3774] - [ISSUE-3774] - docs: Polish the document 'Example_Transaction.md'.
- [ISSUE-3424] - [ISSUE-3424] - Polish the doc for tracing parts.
- [ISSUE-3550] - [ISSUE-3550] - doc:fix typo in readme
- [ISSUE-3782] - [ISSUE-3782] - docs: Fix the default value of parameter 'sendMsgTimeout'.
- [ISSUE-3863] - [ISSUE-3863] - Updated Notice file to 2022
- [ISSUE-3853] - [ISSUE-3853] - add log for interruptedException
- [ISSUE-3852] - [ISSUE-3852] - Move the Logappender module to external
- [ISSUE-3836] - [ISSUE-3836] - depreciated unused class
- [ISSUE-3797] - [ISSUE-3797] - Improve DefaultMQProducerImpl code
- [ISSUE-3789] - [ISSUE-3789] - optimize: Tag the name of consuming thread whith consumeGroup.
- [ISSUE-3773] - [ISSUE-3773] - Adding exception message with broker addr when occuring broker connect timeout
- [ISSUE-3720] - [ISSUE-3720] - perf: avoid multiple expansion when the number of elements in the MessageConst class is determined
- [ISSUE-3696] - [ISSUE-3696] - Optimize the query consumer connection display
- [ISSUE-3684] - [ISSUE-3684] - change client jdk version to 1.6
- [ISSUE-3539] - [ISSUE-3539] - Add parameter verification
- [ISSUE-3651] - [ISSUE-3651] - for add netty channel option WRITE_BUFFER_WATER_MARK
- [ISSUE-3642] - [ISSUE-3642] - Display GID and Topic with namespace
- [ISSUE-3644] - [ISSUE-3644] - exchange parameters
- [ISSUE-3645] - [ISSUE-3645] - Remove TBW102 topic not found warn log in rocketmq-clie…
- [ISSUE-3622] - [ISSUE-3622] - bump up log4j-slf4j-impl version to 2.15.0
- [ISSUE-3604] - [ISSUE-3604] - Some important interface methods add comment
- [ISSUE-3587] - [ISSUE-3587] - Unnecessary boxing of primitives
- [ISSUE-3593] - [ISSUE-3593] - entrySet() replace keySet()
- [ISSUE-3564] - [ISSUE-3564] - Enclose namesrvAddr in example of mqadmin tool by quotation marks
- [ISSUE-3565] - [ISSUE-3565] - Removing message filter impldev
- [ISSUE-3558] - [ISSUE-3558] - Clear spelling errors in comments in quickstart
- [ISSUE-3560] - [ISSUE-3560] - remove deprecated status in the orderly consumer examples.
- [ISSUE-3467] - [ISSUE-3467] - Fail fast on loading files with error mappedFileSize
- [ISSUE-3424] - [ISSUE-3424] - Validators.checkMessage() is used twice.
- [ISSUE-3370] - [ISSUE-3370] - group same Exceptions
- [ISSUE-3286] - [ISSUE-3286] - replace Timer with ScheduledExecutorService
- [ISSUE-3048] - [ISSUE-3048] - add example of OnewayProducer and ScheduledMessage
- [ISSUE-3015] - [ISSUE-3015] - when slaveAckOffset greater than local commitLog offset, break …
- [ISSUE-2969] - [ISSUE-2969] - Add a skip accumulation message command in mqadmin.
- [ISSUE-2580] - [ISSUE-2580] - Check producerTable or consumerTable is empty when updateTopicRouteInfoFromNameServer
Bug
- [ISSUE-3860] - [ISSUE-3860] - fix wrong use of scheduleAtFixedRate in client code
- [ISSUE-3551] - [ISSUE-3551] - Fix admin cloneoffset
- [ISSUE-3527] - [ISSUE-3527] - Fix some request header setting errors and naming issues
- [ISSUE-2516] - [ISSUE-2516] - Fix the value of sendThreadPoolQueueHeadWaitTimeMills is 0 most of the time
- [ISSUE-3579] - [ISSUE-3579] - Fix spelling mistake in getter/setter method of mQClientFactory
- [PR-3603] - [PR-3603] Fix spelling error in DefaultMessageStore
- [ISSUE-3666] - [ISSUE-3666] - fix CI error in RIP-28 at getmQClientFactory
- [ISSUE-3666] - [ISSUE-3666] - fix build error in RIP-28 at getmQclientFactory
- [ISSUE-3687] - [ISSUE-3687] - Fix wrong method comment about transaction message.
- [ISSUE-3685] - [ISSUE-3685] - Fix param spelling error
- [ISSUE-3630] - [ISSUE-3630] - Fix the bug that the broker will hang after polish the headWaitTimeMills method
- [ISSUE-3601] - [ISSUE-3601] - Fix dledger put batch msg stats bug
- [ISSUE-2706] - [ISSUE-2706] - Fix the problem of returning SEND_OK after flush failed
- [ISSUE-3394] - [ISSUE-3394] - fix duplicate keys in trace message
- [ISSUE-3476] - [ISSUE-3476] - Fix last separator of properties string is missing when using batch send
- [ISSUE-3430] - [ISSUE-3430] - fix the problem that setting parameter mqClientApiTimeout doesn't take effect
- [ISSUE-951] - [ISSUE-951] - Fixed an incorrect offset problem in the ResetOffsetByTimeCommand
- [ISSUE-3603] - [ISSUE-3603] - Fix(client): fetch and commit offset need to use master broker firstly
- [ISSUE-3613] - [ISSUE-3613] - bug fix, solve message hash conflict in index file
- [ISSUE-3786] - [ISSUE-3786] - fix: The length of properties value should be checked before converting them to short.
- [ISSUE-3556] - [ISSUE-3556] - Fix:When broker is down, rocketmq client can not retry under Async send model
- [ISSUE-3453] - [ISSUE-3453] - Producer cannot shutdown completely