Skip to main content

Release Notes - Apache RocketMQ - Version 4.8.0

· 4 min read

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


  • [ISSUE-1846] - Change into pipeline manner to improve performance in dledger model .
  • [ISSUE-690] - Support batch messages in dledger mode.


  • [ISSUE-1678] - Use thread safe CopyOnWriteArrayList for registerBrokerResultList.
  • [ISSUE-1904] - Print warn log when flush timeout .
  • [ISSUE-2082] - Use StringBuilder instead of StringBuffer.
  • [ISSUE-2067] - Add logs when collecting disk space usage.
  • [ISSUE-2146] - Add benchmark shutdown script and polish the benchmark.
  • [ISSUE-2162] - Polish the description getBrokerConfig help info.
  • [ISSUE-2180] - Polish the name server start script.
  • [ISSUE-2170] - Use thread safe vector in BrokerOuterAPI.
  • [ISSUE-1870] - Add Support for Java 9+ and compatible to previous Java version.
  • [ISSUE-2217] - Upgrade dledger version.
  • [ISSUE-2233] - Add Broker info in MQBrokerException for troubleshooting.
  • [ISSUE-2245] - Expose config defaultBrokerId and connectBrokerByUser for DefaultLitePullConsumer.
  • [ISSUE-2223] - Polish the selectOneMessageQueue method.
  • [ISSUE-2239] - Add clientId in warn logs of MQClientInstance.
  • [ISSUE-2300] - Support acl and msg trace in benchmark.
  • [ISSUE-2152] - Add isRunning method in DefaultLitePullConsumer.
  • [ISSUE-1770] - Add a query message trace command in mqadmin tool.
  • [ISSUE-2152] - Use mock style in unit test for time-consuming.
  • [ISSUE-2219] - Add some asynchronous API for batch messages.
  • [ISSUE-2334] - Polish the log and response remark when service not available.
  • [ISSUE-2325] - Use CopyOnWriteArrayList to avoid possible thread safety issues.
  • [ISSUE-2366] - Polish transaction producer start script in benchmark.
  • [ISSUE-2412] - Support adding tag when producing messages in benchmark.
  • [ISSUE-2468] - Polish the DefaultLayout SimpleDateFormat pattern.
  • [ISSUE-2491] - Temporary fix on Mac OS when pid greater than short type max value.


  • [ISSUE-1473] - Fix wrong trace message's clientHost.
  • [ISSUE-1576] - Fix wrong logic in selectMessageQueue.
  • [ISSUE-2165] - Slave read enable not work sometimes when cluster deployed on DLedger mode.
  • [ISSUE-2172] - ArrayIndexOutOfBoundsException may throw when getRemoteAddressStrategy method.
  • [ISSUE-2280] - Disk ratio return -1.0 when cluster deployed on DLedger mode.
  • [ISSUE-2330] - Consumer can not extract user-define properties when using batch messages.
  • [ISSUE-2338] - The parameter commitLeastPages is never used.
  • [ISSUE-2374] - Fix the error in ip check.
  • [ISSUE-2378] - NPE may throw when consumer shutdown in the ClientRemotingProcessor.
  • [ISSUE-2421] - SelectMessageQueueByHash throw exception while hashcode is Integer.MIN.
  • [ISSUE-2477] - The allocate method of AllocateMessageQueueByMachineRoom return error result.

Document and code style improvement

  • [ISSUE-1435] - Fix document error about discarded mqadmin subcommand.
  • [ISSUE-2192] - Typo fix in DefaultMQProducerImpl class.
  • [ISSUE-2190] - Fix import mistakes in
  • [ISSUE-2171] - Fix spell error in acl module.
  • [ISSUE-2196] - Fix spell error and remove redundant code in acl module.
  • [ISSUE-2176] - Remove redundant parameters in method.
  • [ISSUE-2202] - Typo fix in README document.
  • [ISSUE-2231] - Polish the format for user guide document.
  • [ISSUE-2258] - Add a recommendation to PR template.
  • [ISSUE-2272] - Typo fix in client consumer module.
  • [ISSUE-2283] - Fix the spelling mistake in ProducerManager and some code optimization.
  • [ISSUE-2299] - Typo fix in filter example document.
  • [ISSUE-2402] - Add directory for rocketmq example document.
  • [ISSUE-2415] - Delete useless code in client module.
  • [ISSUE-2488] - Writing style optimization in architecture document.
  • [ISSUE-2459] - Fix the error in best practice document.