Skip to main content

Release Notes - Apache RocketMQ - Version 4.2.0

· 3 min read

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

New Feature

  • [ROCKETMQ-28] - Support transportation layer security
  • [ROCKETMQ-224] - Suppport log4j2 in Client
  • [ROCKETMQ-294] - Support flow control by number and size dimensions for PushConsumer


  • [ROCKETMQ-6] - Use logger for exceptions instead of e.printStackTrace()
  • [ROCKETMQ-23] - Better to return true when MappedFileQueue#flush is successful
  • [ROCKETMQ-96] - Rename tmp variable
  • [ROCKETMQ-258] - Move benchmark scripts to distribution module
  • [ROCKETMQ-259] - Reduce reflection calls when decode remoting command header
  • [ROCKETMQ-263] - Reduce the cost of the unit test in OpenMessaging modules
  • [ROCKETMQ-266] - Polish the exception message when consumerThreadMax is smaller than consumerThreadMin
  • [ROCKETMQ-273] - Simplify the code when the method has no write operation
  • [ROCKETMQ-279] - Add consistent check for commit log data and consume queue data when start the broker
  • [ROCKETMQ-281] - Add check to prevent repeating starting broker
  • [ROCKETMQ-307] - Change JVM arguments for java 8 and direct memory GC
  • [ROCKETMQ-308] - Improve broker register speed by increasing socket buffer size of name server
  • [ROCKETMQ-311] - Add fast failure mechanism for pull-request queue of broker
  • [ROCKETMQ-312] - Use independent thread pool for QueryMessageProcessor
  • [ROCKETMQ-315] - Enhance default settings of TLS
  • [ROCKETMQ-323] - Release semaphore after callback is finished in async process
  • [ROCKETMQ-324] - Expose an interface for client to specify the async call back executor
  • [ROCKETMQ-327] - Add an interface to support decrypt a encrypted private key file


  • [ROCKETMQ-231] - Fix the pull result size
  • [ROCKETMQ-234] - Fix double-return bug in batch scenario
  • [ROCKETMQ-238] - Make sure catch the exception in a periodic task of ScheduledExecutorService
  • [ROCKETMQ-242] - Make sure the client could fetch nameSrvAddr periodly
  • [ROCKETMQ-254] - Fix the random test failure of LoggerAppender and reduce the cost time
  • [ROCKETMQ-260] - Fix the wrong lock when destroy IndexService
  • [ROCKETMQ-270] - Make sure the slave broker could start normally if master broker has cleaned commit log
  • [ROCKETMQ-277] - Fix the exception in getLocalHost when server hostname not in hosts
  • [ROCKETMQ-284] - Make sure the sql filter is not conflict with old tag filter
  • [ROCKETMQ-285] - Fix the file test error when make link
  • [ROCKETMQ-291] - Fix the UnknownFormatConversionException of System.out.printf
  • [ROCKETMQ-292] - Fix exit problem in main thread when args parsing problem occurs
  • [ROCKETMQ-320] - Make sure no message loss when shutdown with dispatch behind
  • [ROCKETMQ-321] - Make sure do not delete mapped files in the middle