Skip to main content

Release Notes - Apache RocketMQ - Version 4.9.4

· 5 min read

Below is a summary of the issues addressed in the 4.9.4 release of RocketMQ. For full documentation of the release, a guide to get started, please refer to Quick Start.

Improvement

  • [ISSUE-4426] - fix ACL issue when sending messages back
  • [ISSUE-4455] - add a schedule task to update namesrv address
  • [ISSUE-4349] - fix negative index when index reach Integer.MAX_VALUE
  • [ISSUE-3906] - Mark stream-related request by RequestType
  • [ISSUE-4419] - Upgrade maven-checkstyle-plugin to 3.1.2
  • [ISSUE-4416] - Update dledger version to 0.2.6
  • [ISSUE-4410] - Optimize method org.apache.rocketmq.common.message.MessageDecoder#messageProperties2String, remove useless check
  • [ISSUE-4391] - optimize for printObjectProperties
  • [ISSUE-4067] - fix: Add TLS configuration documents.
  • [ISSUE-4377] - Unnecessary null check before method call
  • [ISSUE-4372] - Make it compile with Java9+
  • [ISSUE-4365] - acl PlainPermissionManager key file paths set to same
  • [ISSUE-4362] - remove redundancy group name check of null in method org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl#checkConfig
  • [ISSUE-4323] - Transaction example add the default NamesrvAddr
  • [ISSUE-4323] - tracemessage example add the default NamesrvAddr
  • [ISSUE-4323] - Schedule example add the default NamesrvAddr
  • [ISSUE-4323] - Optimized namespace example code
  • [ISSUE-4226] - Message length exceeds the maximum length when sendback
  • [ISSUE-4332] - Remove duplicate code
  • [ISSUE-4323] - Quickstart adds the default NamesrvAddr
  • [ISSUE-4320] - Anonymous new PrivilegedAction can be replaced with lambda
  • [ISSUE-4396] - Support get all producer on one broker
  • [ISSUE-4318] - make some variables to be final in IndexHeader
  • [ISSUE-4317] - Fix for statement does not loop
  • [ISSUE-2435] - Solve the problem that DefaultMQProducer#request() sends messages and waits for timeout synchronously
  • [ISSUE-3962] - Fix variable name in MappedFile#isAbleToCommit()
  • [ISSUE-4310] - Optimize serviceProvider's code
  • [ISSUE-4304] - Fix license check failures
  • [ISSUE-4286] - add link of rocketmq-site to readme
  • [ISSUE-4284] - Add protocols to readme and delete the description of language clients
  • [ISSUE-4270] - Log parameter error and optimize code
  • [ISSUE-4263] - Delete topic route info based on cluster when delete topic.
  • [ISSUE-4254] - use function computeIfAbsent replace if
  • [ISSUE-4237] - REMOVE unnecessary final modifier
  • [ISSUE-4239] - Use function computeIfAbsent replace if
  • [ISSUE-4216] - fix HmacSHA1 not available when use benchmark
  • [ISSUE-4203] - Support zstd/lz4 compression to improve send/receive performance
  • [ISSUE-4211] - Fix diskMaxUsedSpaceRatio does not take effect in dLedger
  • [ISSUE-4187] - Support async publish in producer benchmark
  • [ISSUE-4308] - Make some variables to be final in brokerController
  • [ISSUE-4251] - Add batch flag
  • [ISSUE-4185] - Explicit type argument can be replaced with
  • [ISSUE-4183] - When the reportSlaveMaxOffset method fails, end the current loop early
  • [ISSUE-4181] - Prevent int overflow in TraceContext
  • [ISSUE-4099] - Optimized the performance of sending traceMessage in AsyncTraceDispatcher
  • [ISSUE-4175] - Prevent update topic on slave
  • [ISSUE-4165] - add new line in sendMsgStatus
  • [ISSUE-4147] - javadoc: Fix the problem described in the warning message prompted by the IDE.
  • [ISSUE-4145] - docs: Add 'at most once' feature in the feature documents.
  • [ISSUE-4130] - Remove the exception which will never be thrown by method from method signature
  • [ISSUE-3914] - Support multi dirs storage in DLedger
  • [ISSUE-4110] - Update dledger version to 0.2.4
  • [ISSUE-4107] - rocketmq-tools should not depend on rocketmq-store
  • [ISSUE-4098] - Optimized the algorithm of trace message send.
  • [ISSUE-4058] - DLedgerCommitLog support LMQ
  • [ISSUE-4048] - Make storePathCommitLog base on storePathRootDir
  • [ISSUE-4033] - fix async deliver msg will resend forever when serivce not avliable
  • [ISSUE-4040] - Unnecessary toString methods deleted
  • [ISSUE-4037] - Add DeleteExpiredCommitLogSubCommand
  • [ISSUE-4035] - rename some commands
  • [ISSUE-4125] - Anonymous new Runnable() can be replaced with lambda
  • [ISSUE-4028] - wrong log output
  • [ISSUE-4025] - acl not work after changed
  • [ISSUE-4151] - Add option p to the updateGlobalWhiteAddr command
  • [ISSUE-4000] - Fix the warn log input in command tools
  • [ISSUE-3985] - Remove shuffle operation before sorting the list of 'FaultItem'.
  • [ISSUE-3964] - Introduce jmh test for RemotingCommand
  • [ISSUE-3950] - Anonymous new Callable() replaced with lambda
  • [ISSUE-3922] - Fix bugs in ACL modification
  • [ISSUE-3911] - Fix ThreadLocalIndexTest does not actually assert the value
  • [ISSUE-3900]] - Fix that wrong dir is created when using mult-dirs storage
  • [ISSUE-3898] - fix the spell in MQClientAPIImpl
  • [ISSUE-3896] - fix log format error
  • [ISSUE-3890] - add 'brokerAddress' param for ConsumerConnectionSubCommand
  • [ISSUE-3882] - Nameserver change modify topicQueueTable in RouteInfoManager
  • [ISSUE-3877] - Remove unnecessary Exception thrown by MQClientAPIImpl#createSubscriptionGroup
  • [ISSUE-3875] - fix unable to delete last acl account.
  • [ISSUE-23 - solve error Algorithm HmacSHA1 not available when your java_home is not found
  • [ISSUE-2993] - fix testTruncateCQ on Windows by releasing mapped files.
  • [ISSUE-3859] - enhance the cal of latency for putting message
  • [ISSUE-3804] - Commit consumption offset with specific MessageQueue.
  • [ISSUE-3699] - fix unit test
  • [ISSUE-3966] - Fix using wrong offset when deliver in ScheduleService
  • [ISSUE-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
  • [ISSUE-3894] - Refactor RouteInfoManager unit test
  • [ISSUE-3585] - [Part B] Improve encode/decode performance