Mirror of Apache RocketMQ

Related tags

Messaging rocketmq
Overview

Apache RocketMQ

Build Status Coverage Status CodeCov Maven Central GitHub release License Average time to resolve an issue Percentage of issues still open Twitter Follow

Apache RocketMQ is a distributed messaging and streaming platform with low latency, high performance and reliability, trillion-level capacity and flexible scalability.

It offers a variety of features:

  • Messaging patterns including publish/subscribe, request/reply and streaming
  • Financial grade transactional message
  • Built-in fault tolerance and high availability configuration options base on DLedger
  • A variety of cross language clients, such as Java, C/C++, Python, Go
  • Pluggable transport protocols, such as TCP, SSL, AIO
  • Built-in message tracing capability, also support opentracing
  • Versatile big-data and streaming ecosytem integration
  • Message retroactivity by time or offset
  • Reliable FIFO and strict ordered messaging in the same queue
  • Efficient pull and push consumption model
  • Million-level message accumulation capacity in a single queue
  • Multiple messaging protocols like JMS and OpenMessaging
  • Flexible distributed scale-out deployment architecture
  • Lightning-fast batch message exchange system
  • Various message filter mechanics such as SQL and Tag
  • Docker images for isolated testing and cloud isolated clusters
  • Feature-rich administrative dashboard for configuration, metrics and monitoring
  • Authentication and authorization
  • Free open source connectors, for both sources and sinks

Learn it & Contact us


Apache RocketMQ Community


Contributing

We always welcome new contributions, whether for trivial cleanups, big new features or other material rewards, more details see here.


License

Apache License, Version 2.0 Copyright (C) Apache Software Foundation


Export Control Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

The following provides more details on the included cryptographic software:

This software uses Apache Commons Crypto (https://commons.apache.org/proper/commons-crypto/) to support authentication, and encryption and decryption of data sent across the network between services.

Comments
  • No route info of this topic problem

    No route info of this topic problem

    clinet exception:

    org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, ffff
    See http://rocketmq.apache.org/docs/faq/ for further details.
    	at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:634)
    	at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1253)
    	at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1203)
    	at org.apache.rocketmq.client.producer.DefaultMQProducer.send(DefaultMQProducer.java:214)
    	at com.xx.rmq.Producer.main(Producer.java:55)
    

    rocketmq server config:

    autoCreateTopicEnable=true
    

    问题: 我们手动在rokcetmq中创建topic时,客户端访问时正常的,如果不提前手动创建将会出现上面的异常,如果需要让服务端自动创建topic,应该如何设置

    type/enhancement type/question 
    opened by yuanyaosmile 37
  • [ROCKETMQ-107] fix possible concurrency problem on ServiceState when consumer start/shutdown

    [ROCKETMQ-107] fix possible concurrency problem on ServiceState when consumer start/shutdown

    JIRA: https://issues.apache.org/jira/browse/ROCKETMQ-107

    No Syncrinations in start or shutdown which may result in :

    1. Start twice if two thread starts the same consumer in the same time, which leads to initizize the resources twice.
    2. Shutdown may not be effective if thread A start and Thread b tries to shutdown in a very short time after A's starting.

    Implemenations:

    1. Add lock in getter and setter, and replace all direct read/write operations to getter and setter
    2. Add lock before start and shutdown
    opened by Jaskey 36
  • [ROCKETMQ-44] Duplicated Codes in DefaultMessageStore.getEarliestMessageTime. https://issues.apache.org/jira/browse/ROCKETMQ-44 || [ROCKETMQ-209] Duplicated code in MQClientApiImpl :- https://issues.apache.org/jira/browse/ROCKETMQ-209

    [ROCKETMQ-44] Duplicated Codes in DefaultMessageStore.getEarliestMessageTime. https://issues.apache.org/jira/browse/ROCKETMQ-44 || [ROCKETMQ-209] Duplicated code in MQClientApiImpl :- https://issues.apache.org/jira/browse/ROCKETMQ-209

    This commit is in reference to Story number 44 from the Kanban Board, which refers to removing duplicated logic from DefaultMessageStore.getEarliestMessageTime(). Please let me know if you need any improvements.

    opened by that-data-scientist 31
  • [ROCKETMQ-121]Support message filtering based on SQL92

    [ROCKETMQ-121]Support message filtering based on SQL92

    Support message filtering based on SQL92


    So far, RocketMQ only support message filtering feature by TAG, but one message only can own one tag, this is too limited to meet complex business requirements.

    So, we want to define and implement a reasonable filter language based on a subset of the SQL 92 expression syntax to support customized message filtering.

    Why subset of SQL92

    Let RocketMQ has the ability of message filtering is the purpose of this issue, no matter SQL92 or any other languages.

    As I know, ActiveMQ already impllement this functionality based on JavaCC, it's simple and exntensible.So I just extract it and integrate into RocketMQ, only some grammars:

    1. numeric comparison, like >, >=, <,<=, BETWEEN
    2. character comparison, like =, <>, IN
    3. check NULL
    4. logical AND, logical OR, logical NOT

    Design

    • New Module, rocketmq-filter

    The implementation of SQL92 language is placed in this module which have dependency on common module.

    Broker compile or evaluate expression through the interface of FilterSpi contained in FilterFactory that manage all FilterSpi and also support new one to register.

    • How to manage consumer's expression data

    Different from tag filtering, expression of SQL92 should be compiled first to check whether is leagal and then use the complied expression to compute. This procedure is designed to take place at broker.

    ConsumerManager manage the suscriptions of push consumer, and ConsumerFilterManager manage the expression info of push consumer who wish to filter message by special language, the info includes data version, expression, compiled expression, alive time and etc.

    • How to filter message by expression

    I redesign the interface getMessage of MessageStore by replace the last parameter SubscriptionData to MessageFilter that is also refactored. The purpose is to make module rocketmq-store has no relation with protocol.

    When get message, the implementation ExpressionMessageFilter would check whether the message is matched by BitsArray which will be refered later or evaluation, just as the mechanism of tag filtering.

    • Optimization, pre-calculate the filtering result when build consume queue

    It's poor performance to do filter when pull message:

    1. off-heap to heap, once every consumer subscribed same topic pull message.
    2. decode message properties, once every consumer subscribed same topic pull message.

    BloomFilter and pre-calculation are adopted to optimize the situation:

    1. Every consumer has been asigned some bit position of BloomFilter when register to broker.
    2. When broker build queue after message into CommitLog, the consumer's filtering result would be calculated, and all resuls are assembled as a BitsArray saved in ConsumeQueueExt.
    3. ConsumeQueueExt is a store file linked to ConsumeQueue, ConsumeQueue could find the data by the tagsCode whitch is already replaced by the address(for compitable, the range is Long.MIN_VALUE to Integer.MIN_VALUE) generated by ConsumeQueueExt.
    4. ExpressionMessageFilter could use the BitsArray to check whether the message is matched. Because of BloomFilter's collision, it also need to decode properties to do calculation for matched message(may could be reduced by check the collision, not include in this edition).

    This optimization is suitable for:

    1. High subscription ratio.
    2. Large properties.

    Interface

    Only push consumer could filter message by SQL92 expression in this edition.

    opened by vsair 29
  • [ROCKETMQ-80] Add batch feature

    [ROCKETMQ-80] Add batch feature

    Tests show that Kafka's million-level TPS is mainly owed to batch. When set batch size to 1, the TPS is reduced an order of magnitude. So I try to add this feature to RocketMQ.

    For a minimal effort, it works as follows:

    • Only add synchronous send functions to MQProducer interface, just like send(final Collection msgs)
    • Use MessageBatch which extends Message and implements Iterable<Message>
    • Use byte buffer instead of list of objects to avoid too much GC in Broker.
    • Split the decode and encode logic from lockForPutMessage to avoid too many race conditions.

    Tests: On linux with 24 Core 48G Ram and SSD, single broker, using 50 threads to send 50Byte(body) message in batch size 50, we get about 150w TPS until the disk is full.

    Potential problems: Although the messages can be accumulated in the Broker very quickly, it need time to dispatch to the consume queue, which is much slower than accepting messages. So the messages may not be able to be consumed immediately.

    We may need to refactor the ReputMessageService to solve this problem.

    And if guys have some ideas, please let me know or just share it in this issue.

    opened by dongeforever 29
  • Issues and Improvement Strategies in the Raft Protocol Election

    Issues and Improvement Strategies in the Raft Protocol Election

    raft协议在网络抖动,机器临时故障等极小概率情况下会产生以下选举问题: 假定有编号为【1,2,3,4,5,6,7】共7个结点构成了一个选举整体,当结点1作为候选人发起term=6的投票,该term对应投票为【1,2,3,4】所接受,结点1作为leader执行leader职责前,刚好结点7发起term=7的投票(因为网络抖动原因结点7发起的term=6刚好未被结点【1,2,3,4】所接收),抛开上帝视角具体分析,此时存在以下两种情况: 情况1:结点【4,5,6,7】多数结点接受结点7该term=7的选举,结点7作为leader执行职责,该情况下目前所用raft协议能保证结点1会自动失去leader资格。 情况2:结点【5,6,7】等少数结点接受结点7该term=7的选举,结点7未作为leader执行职责,但此时因为【5,6,7】结点已经认可了term=7的任期,会导致结点1以term=6所发送提议无法被接受,但结点1因为已经此实确实获取多数结点认可,在提议被多数接受后会进行提交。可惜目前所用的raft协议未考虑该情况下的处理方案。 解决策略:1、引入结点在接受到leader名义发起的提议后,如果term<自身已知选举认可term且term>自身已提交term时,对提议仅进行记录但拒绝接受该提议。当接受到提交请求时,如果提交所用term>自身已提交term,则找到对应提议并无条件进行提交(因为raft协议的提议提交命令发送前提为大多数已经接受了)。2、如果接受了提议,则在自身未主动探测到leader丢失下,拒绝对后续的选举term进行投票(以保证在接受结点1提议后结点7无法获取到多数结点的认可当选为leader出现双主问题). 问题扩展:实际情况会存在网络抖动引起的N个(N>=2)结点同时误认自己是leader或当前leader因为所用term并非全局视角下的最大term在履行leader职责时未受少数结点认可存在的问题

    progress/discuss stale 
    opened by zhangyixin1222 27
  • [ISSUE #1156]new mqadmin API for ACL configuration

    [ISSUE #1156]new mqadmin API for ACL configuration

    What is the purpose of the change

    (1)Adding data new version mechanism for every broker's acl config file in a cluster. (2)Adding ClusterAclConfigVersionListSubCommand for querying acl config version; (3)Adding DeleteAccessConfigSubCommand for deleting account attribute in acl config file. (4)Adding UpdateAccessConfigSubCommand for updating account attribute in acl config file. (5)Adding UpdateGlobalWhiteAddrSubCommand for updating global white addrs in acl config file.

    Brief changelog

    (1)Adding data new version mechanism for every broker's acl config file in a cluster. (2)Adding ClusterAclConfigVersionListSubCommand for querying acl config version; (3)Adding DeleteAccessConfigSubCommand for deleting account attribute in acl config file. (4)Adding UpdateAccessConfigSubCommand for updating account attribute in acl config file. (5)Adding UpdateGlobalWhiteAddrSubCommand for updating global white addrs in acl config file.

    Adding data new version mechanism in the acl yaml configuration file for acl mqadmin for acl configuration.

    Verifying this change

    I have already verified this changes in my local enviroment and passed acl uniting test cases.

    Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

    • [x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
    • [x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
    • [x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
    • [x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
    • [x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test to make sure integration-test pass.
    • [ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.
    type/enhancement 
    opened by zongtanghu 26
  • [ROCKETMQ-184]-It takes too long(3-33 seconds) to switch to read from slave when master crashes

    [ROCKETMQ-184]-It takes too long(3-33 seconds) to switch to read from slave when master crashes

    JIRA:https://issues.apache.org/jira/browse/ROCKETMQ-184?jql=project%20%3D%20ROCKETMQ

    Problem, no listener is triggered when Chanel is close.

    When async command sent to the server, and the server is crash before sending response to client, the callback can not be invoked in time. Instead, the callback can only be triggered by the timeout scan service.

    This is obvious for pulling message since the timeout is by default 30 seconds. So if master crashes before process response to the client, the client can not repull until scan service tell it, which takes at most 30 seconds. And repull will have 3 seconds delay, so the HA to read from slave has to take 3-33 seconds when this problem occurs.

    opened by Jaskey 26
  • [ROCKETMQ-102] When shutdown(), the persisted offet is not the latest consumed message, which may cause repeated messages.

    [ROCKETMQ-102] When shutdown(), the persisted offet is not the latest consumed message, which may cause repeated messages.

    Solution: add interface for push consumer to accept await termination time to await consuming.

    JIRA: https://issues.apache.org/jira/browse/ROCKETMQ-102

    UnitTest in DefaultMQPushConsumerTest.java

    @Test
    public void testShutdownAwait() throws Exception {
        final LinkedList<Long> consumedOffset = new LinkedList<>();
        pushConsumer.setPullInterval(0);
        pushConsumer.getDefaultMQPushConsumerImpl().setConsumeMessageService(new ConsumeMessageConcurrentlyService(pushConsumer.getDefaultMQPushConsumerImpl(), new MessageListenerConcurrently() {
            @Override public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,
                ConsumeConcurrentlyContext context) {
                for (MessageExt msg : msgs) {
                    try {
                        Thread.sleep(100);
                    } catch (InterruptedException e) {e.printStackTrace();}
                    synchronized (consumedOffset) {
                        consumedOffset.add(msg.getQueueOffset());
                    }
                }
                return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
            }
        }));
        pushConsumer.getDefaultMQPushConsumerImpl().doRebalance();
        PullMessageService pullMessageService = mQClientFactory.getPullMessageService();
        pullMessageService.executePullRequestImmediately(createPullRequest());
        Thread.sleep(1000);
        pushConsumer.shutdown(10 * 1000);//await consume for at most 10 seconds
        //pushConsumer.shutdown();//here if we do not await, the test case will not pass
        long persitOffset =pushConsumer.getDefaultMQPushConsumerImpl().getOffsetStore().readOffset(new MessageQueue(topic, brokerName, 0), ReadOffsetType.READ_FROM_MEMORY);
        Thread.sleep(1000);//wait for thread pool to continue consume for sometime if not terminated well
        Collections.sort(consumedOffset);
        Assert.assertEquals(consumedOffset.getLast() + 1, persitOffset);//when shutdown with await, the persisted offset should be the latest message offset
    }
    
    opened by Jaskey 25
  • [ROCKETMQ-138]add implement SelectMessageQueueByConsistentHash for MessageQueueSele…

    [ROCKETMQ-138]add implement SelectMessageQueueByConsistentHash for MessageQueueSele…

    …ctor

    SelectMessageQueueByConsistentHash user the consistent hash algorithm to select msg queue, producer client can reuse the instance for the same topic

    opened by lyy4j 24
  • RocketMQ 2m2s startup problem

    RocketMQ 2m2s startup problem

    The issue tracker is ONLY used for bug report(feature request need to follow RIP process). Keep in mind, please check whether there is an existing same report before your raise a new one.

    Alternately (especially if your communication is not a bug report), you can send mail to our mailing lists. We welcome any friendly suggestions, bug fixes, collaboration and other improvements.

    Please ensure that your bug report is clear and that it is complete. Otherwise, we may be unable to understand it or to reproduce it, either of which would prevent us from fixing the bug. We strongly recommend the report(bug report or feature request) could include some hints as the following:

    BUG REPORT

    1. Please describe the issue you observed: 我配置了双主双从同步模式下的master1,默认两个namesrv都已经启动,准备开始启动第一个master broker broker-a.properties配置文件如下: #所属集群名字 brokerClusterName=rocketmq-cluster #broker名字,注意此处不同的配置文件填写的不一样 brokerName=broker-a #0 表示 Master,>0 表示 Slave brokerId=0 #nameServer地址,分号分割 namesrvAddr=192.168.5.100:9876;192.168.5.101:9876 #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 defaultTopicQueueNums=4 #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭 autoCreateTopicEnable=true #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭 autoCreateSubscriptionGroup=true #Broker 对外服务的监听端口 listenPort=10911 #删除文件时间点,默认凌晨 4点 deleteWhen=04 #文件保留时间,默认 48 小时 fileReservedTime=120 #commitLog每个文件的大小默认1G mappedFileSizeCommitLog=1073741824 #ConsumeQueue每个文件默认存30W条,根据业务情况调整 #mapedFileSizeConsumeQueue=300000 mappedFileSizeConsumeQueue=6000000 destroyMapedFileIntervalForcibly=120000 #redeleteHangedFileInterval=120000 #检测物理文件磁盘空间 diskMaxUsedSpaceRatio=88 #存储路径 storePathRootDir=/usr/local/bin/rocketmq-all-4.5.2-bin-release/store #commitLog 存储路径 storePathCommitLog=/usr/local/bin/rocketmq-all-4.5.2-bin-release/store/commitlog #消费队列存储路径存储路径 storePathConsumeQueue=/usr/local/bin/rocketmq-all-4.5.2-bin-release/store/consumequeue #消息索引存储路径 storePathIndex=/usr/local/bin/rocketmq-all-4.5.2-bin-release/store/index #checkpoint 文件存储路径 storeCheckpoint=/usr/local/bin/rocketmq-all-4.5.2-bin-release/store/checkpoint #abort 文件存储路径 abortFile=/usr/local/bin/rocketmq-all-4.5.2-bin-release/store/abort #限制的消息大小 maxMessageSize=65536 #flushCommitLogLeastPages=4 #flushConsumeQueueLeastPages=2 #flushCommitLogThoroughInterval=10000 #flushConsumeQueueThoroughInterval=60000 #Broker 的角色 #- ASYNC_MASTER 异步复制Master #- SYNC_MASTER 同步双写Master #- SLAVE brokerRole=SYNC_MASTER #刷盘方式 #- ASYNC_FLUSH 异步刷盘 #- SYNC_FLUSH 同步刷盘 flushDiskType=SYNC_FLUSH #checkTransactionMessageEnable=false #发消息线程池数量 #sendMessageThreadPoolNums=128 #拉消息线程池数量 #pullMessageThreadPoolNums=128

    开始启动: nohup sh mqbroker -c /usr/local/bin/rocketmq-all-4.5.2-bin-release/conf/2m-2s-sync/broker-a.properties &

    执行上述命令后,无法启动broker-a:

    找到日志: 2019-11-24 01:19:42 INFO main - warmMapedFileEnable=false 2019-11-24 01:19:42 INFO main - offsetCheckInSlave=false 2019-11-24 01:19:42 INFO main - debugLockEnable=false 2019-11-24 01:19:42 INFO main - duplicationEnable=false 2019-11-24 01:19:42 INFO main - diskFallRecorded=true 2019-11-24 01:19:42 INFO main - osPageCacheBusyTimeOutMills=1000 2019-11-24 01:19:42 INFO main - defaultQueryMaxNum=32 2019-11-24 01:19:42 INFO main - transientStorePoolEnable=false 2019-11-24 01:19:42 INFO main - transientStorePoolSize=5 2019-11-24 01:19:42 INFO main - fastFailIfNoBufferInStorePool=false 2019-11-24 01:19:42 INFO main - enableDLegerCommitLog=false 2019-11-24 01:19:42 INFO main - dLegerGroup= 2019-11-24 01:19:42 INFO main - dLegerPeers= 2019-11-24 01:19:42 INFO main - dLegerSelfId= 2019-11-24 01:19:42 INFO main - load /usr/local/bin/rocketmq-all-4.5.2-bin-release/store/config/consumerOffset.json OK 2019-11-24 01:19:42 INFO main - load /usr/local/bin/rocketmq-all-4.5.2-bin-release/store/config/consumerFilter.json OK 2019-11-24 01:19:42 INFO main - Try to start service thread:AllocateMappedFileService started:false lastThread:null 2019-11-24 01:19:42 INFO main - Try to shutdown service thread:AllocateMappedFileService started:true lastThread:Thread[AllocateMappedFileService,5,main] 2019-11-24 01:19:42 INFO main - shutdown thread AllocateMappedFileService interrupt true 2019-11-24 01:19:42 INFO main - join thread AllocateMappedFileService elapsed time(ms) 1 90000 2019-11-24 01:19:42 INFO main - Try to shutdown service thread:PullRequestHoldService started:false lastThread:null

    最后的日志感觉由点问题,找了好多资料,没把这个问题解决掉,请问我是哪里配置不对吗? 2. Please tell us about your environment:

    RocketMQ 4.5.2 Release版 + JDK8

    1. Other information (e.g. detailed explanation, logs, related issues, suggestions how to fix, etc):

    FEATURE REQUEST

    1. Please describe the feature you are requesting.

    2. Provide any additional detail on your proposed use case for this feature.

    3. Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?

    4. If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:

    type/question stale 
    opened by ltyeamin 23
  • [ISSUE #5800] Fix start producer.sh can't find java execute file

    [ISSUE #5800] Fix start producer.sh can't find java execute file

    Make sure set the target branch to develop

    What is the purpose of the change

    close #5800

    Brief changelog

    • Fix start producer.sh can't find java execute file

    Verifying this change

    XXXX

    Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

    • [x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
    • [x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
    • [x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
    • [x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
    • [x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test to make sure integration-test pass.
    • [ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.
    opened by mxsm 1
  • Fix start producer.sh can't find java execute file

    Fix start producer.sh can't find java execute file

    The issue tracker is used for bug reporting purposes ONLY whereas feature request needs to follow the RIP process. To avoid unnecessary duplication, please check whether there is a previous issue before filing a new one.

    It is recommended to start a discussion thread in the mailing lists in cases of discussing your deployment plan, API clarification, and other non-bug-reporting issues. We welcome any friendly suggestions, bug fixes, collaboration, and other improvements.

    Please ensure that your bug report is clear and self-contained. Otherwise, it would take additional rounds of communication, thus more time, to understand the problem itself.

    Generally, fixing an issue goes through the following steps:

    1. Understand the issue reported;
    2. Reproduce the unexpected behavior locally;
    3. Perform root cause analysis to identify the underlying problem;
    4. Create test cases to cover the identified problem;
    5. Work out a solution to rectify the behavior and make the newly created test cases pass;
    6. Make a pull request and go through peer review;

    As a result, it would be very helpful yet challenging if you could provide an isolated project reproducing your reported issue. Anyway, please ensure your issue report is informative enough for the community to pick up. At a minimum, include the following hints:

    BUG REPORT

    1. Please describe the issue you observed:

    image java installed in /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.al8.x86_64/jre/bin/java

    1. Please tell us about your environment:

    2. Other information (e.g. detailed explanation, logs, related issues, suggestions on how to fix, etc):

    FEATURE REQUEST

    1. Please describe the feature you are requesting.

    2. Provide any additional detail on your proposed use case for this feature.

    3. Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?

    4. If there are some sub-tasks involved, use -[] for each sub-task and create a corresponding issue to map to the sub-task:

    opened by mxsm 0
  • [Feature] Support for large message chunked transfer

    [Feature] Support for large message chunked transfer

    Apache RocketMQ, like all messaging systems, imposes a size limit on each message sent to a broker. This prevents the load per message from exceeding the maxMessageSize set in the broker, which defaults to 4 MB.

    However, in application scenarios such as image processing and audio processing, many users need RocketMQ clients to send large messages to brokers. You can achieve this by adjusting maxMessageSize. However, this approach can cause many problems. For example, if a client publishes a 100 MB message, and the broker allows storing the message to disk, the broker will spend a lot of IO resources processing the message. This will affect broker flushing performance and cause a backlog of messages.

    Therefore, when RocketMQ sends large messages, in addition to increasing the value of maxMessageSize, we can also support the 'message chunking' function. Through message chunking, producers can split large messages into multiple chunks according to maxMessageSize, and send each chunk to the broker as a normal message. The consumer will then assemble these chunked messages back into the original message.

    For example: image

    Therefore, it's time to discuss whether 'message chunking' should be supported or not.

    opened by hzh0425 2
  • [ISSUE #5663] FIx Messages may be lost when SyncStateSet expand in extreme scenarios

    [ISSUE #5663] FIx Messages may be lost when SyncStateSet expand in extreme scenarios

    … missing messages

    Make sure set the target branch to develop

    What is the purpose of the change

    Close #5663

    Brief changelog

    Add a new state 'isSynchronizingSyncStateSet' in 'AutoSwitchHAService' to Solve the problem of missing messages

    Verifying this change

    XXXX

    Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

    • [x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
    • [x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
    • [x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
    • [x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
    • [x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test to make sure integration-test pass.
    • [ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.
    opened by hzh0425 1
  • [RIP-59] Support DLedger Controller snapshot

    [RIP-59] Support DLedger Controller snapshot

    Make sure set the target branch to develop

    What is the purpose of the change

    Support DLedger Controller snapshot RIP-59: SHIMO: https://shimo.im/docs/WlArzngm9JhzY0A2 GOOGLE DOCS: https://docs.google.com/document/d/1jiKtv5WRDqlgZLGYK0oHuZww1r7KKrnTdRGf_eDIQy8/edit?usp=sharing

    Brief changelog

    Support DLedger Controller snapshot

    Verifying this change

    Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

    • [x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
    • [x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
    • [x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
    • [x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
    • [x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test to make sure integration-test pass.
    • [ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.
    opened by hzh0425 2
  • [ISSUE #5795]Optimize batch unregistration broker service

    [ISSUE #5795]Optimize batch unregistration broker service

    Make sure set the target branch to develop

    What is the purpose of the change

    close #5795

    Brief changelog

    • Optimize batch unregistration broker service

    Verifying this change

    XXXX

    Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

    • [x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
    • [x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
    • [x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
    • [x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
    • [x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test to make sure integration-test pass.
    • [ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.
    opened by mxsm 1
Releases(rocketmq-all-5.0.0)
  • rocketmq-all-5.0.0(Sep 22, 2022)

    What's Changed

    • [RIP-19] Pop Consuming (submodule "common") by @ayanamist in https://github.com/apache/rocketmq/pull/2721
    • [RIP-19] Pop Consuming (submodule "store") by @ayanamist in https://github.com/apache/rocketmq/pull/2733
    • [RIP-19] Pop Consuming (submodule "broker") by @ayanamist in https://github.com/apache/rocketmq/pull/2757
    • [RIP-19] Pop Consuming (client) by @hill007299 in https://github.com/apache/rocketmq/pull/2808
    • [RIP-19] Pop Consuming (tools) by @hill007299 in https://github.com/apache/rocketmq/pull/2825
    • [RIP-19] Pop Consuming (integration test) by @hill007299 in https://github.com/apache/rocketmq/pull/2835
    • [RIP-19]Pop consumer docs by @hill007299 in https://github.com/apache/rocketmq/pull/2862
    • Polish pop consume comment by @duhenglucky in https://github.com/apache/rocketmq/pull/2908
    • [RIP-19] Server-side rebalance, lightweight consumer client support by @duhenglucky in https://github.com/apache/rocketmq/pull/2867
    • [RIP-21] Logic Queue submodule common & client by @ayanamist in https://github.com/apache/rocketmq/pull/3127
    • [RIP-21] RocketMQ Logic Queue by @chenzlalvin in https://github.com/apache/rocketmq/pull/3153
    • [ISSUE #3290] Test case testProcessRequest_RegisterBrokerLogicalQueue bug fix by @odbozhou in https://github.com/apache/rocketmq/pull/3291
    • [ISSUE #3371]Part A: Fix stack overflow exception when set message mode by @maixiaohai in https://github.com/apache/rocketmq/pull/3372
    • [ISSUE #3436] Make configuration for pop be configurable by @cserwen in https://github.com/apache/rocketmq/pull/3437
    • [ISSUE #3741] Use wait-until-${async-complete}-reaches DSL instead of sleep(n) to to reduce invalid wait time. by @Erik1288 in https://github.com/apache/rocketmq/pull/3829
    • [ISSUE #3779] Add hook to execute after consume for pop by @cserwen in https://github.com/apache/rocketmq/pull/3780
    • [ISSUE #3992] code optimizations about BrokerContainerStartup.class by @cserwen in https://github.com/apache/rocketmq/pull/3993
    • [ISSUE #3503] fix the consumeOffset will be set as 0 when getMessage returns null by @cserwen in https://github.com/apache/rocketmq/pull/3504
    • [RIP-37] Add new APIs for producer by @aaron-ai in https://github.com/apache/rocketmq/pull/3987
    • Use the right executor for EndTransactionProcessor by @cserwen in https://github.com/apache/rocketmq/pull/4044
    • [ISSUE #4050] 5.0.0-alpha (Pop): Missing origin message id from dead letter message by @Git-Yang in https://github.com/apache/rocketmq/pull/4052
    • [ISSUE #4065] Fix brokerName of msg is null in same case by @cserwen in https://github.com/apache/rocketmq/pull/4066
    • [ISSUE #3798] Support container in DLedger. by @cserwen in https://github.com/apache/rocketmq/pull/4100
    • [RIP-37] Add new APIs for consumer by @chenzlalvin in https://github.com/apache/rocketmq/pull/4019
    • [ISSUE #4056] Sync message request mode from master by @cserwen in https://github.com/apache/rocketmq/pull/4101
    • [ISSUE #4192] Fix log split not work for dLedger in container by @cserwen in https://github.com/apache/rocketmq/pull/4193
    • [Summer of Code] Dledger controller by @hzh0425 in https://github.com/apache/rocketmq/pull/4195
    • [ISSUE #4245] Remove the topic route cache in nameserver by @RongtongJin in https://github.com/apache/rocketmq/pull/4246
    • [ISSUE #4072] fix totalPollingNum count error by @Git-Yang in https://github.com/apache/rocketmq/pull/4073
    • [ISSUE#4233] Move the capability of slaveActingMaster from container module to broker module by @RongtongJin in https://github.com/apache/rocketmq/pull/4234
    • [Summer of Code] Support switch role for ha service by @hzh0425 in https://github.com/apache/rocketmq/pull/4236
    • [ISSUE #4261] Add -Xmn parameter when jdk version is less than 8 by @li-xiao-shuang in https://github.com/apache/rocketmq/pull/4262
    • [ISSUE#4263]Fix the issue that DeleteTopicSubCommand does't call the correct deleteTopicInNameServer method in 5.0.0-beta. by @sunxi92 in https://github.com/apache/rocketmq/pull/4269
    • [ISSUE #4070] bugfix : Returning min queue offset when timestamp is larger than queue-unit max timestamp by @humkum in https://github.com/apache/rocketmq/pull/4071
    • [ISSUE #4270]Log parameter error and optimize code by @zhangjidi2016 in https://github.com/apache/rocketmq/pull/4271
    • [Summer of Code] Support switch role for broker by @hzh0425 in https://github.com/apache/rocketmq/pull/4272
    • [Summer of code] Stand alone a new controller module by @hzh0425 in https://github.com/apache/rocketmq/pull/4333
    • [Summer of code] Let broker send heartbeat to controller by @hzh0425 in https://github.com/apache/rocketmq/pull/4341
    • style: remove unused CleanFilesHook.java class by @HScarb in https://github.com/apache/rocketmq/pull/4260
    • [Summer of code] Shrink and expand InSyncStateSet by @hzh0425 in https://github.com/apache/rocketmq/pull/4355
    • [ISSUE #4171]Fix tryQueryAssignment() in RebalanceImpl by @zhangjidi2016 in https://github.com/apache/rocketmq/pull/4173
    • [Summer of code] Support async learner in controller mode by @hzh0425 in https://github.com/apache/rocketmq/pull/4367
    • [Summer of code] Fix some bugs in controller mode. by @hzh0425 in https://github.com/apache/rocketmq/pull/4379
    • [ISSUE #4384] Expand RocketMQ Topic/Group attributes by @drpmma in https://github.com/apache/rocketmq/pull/4386
    • [Summer of code] Add admin tools for controller mode by @hzh0425 in https://github.com/apache/rocketmq/pull/4388
    • [Summer of code] Fix controller bugs by @hzh0425 in https://github.com/apache/rocketmq/pull/4399
    • [Summer of code] Fix allAckSyncStateSet not working by @hzh0425 in https://github.com/apache/rocketmq/pull/4401
    • [Summer of code] Add sh conf for controller by @hzh0425 in https://github.com/apache/rocketmq/pull/4404
    • [Summer of code] Add admin tool getControllerMetadata by @hzh0425 in https://github.com/apache/rocketmq/pull/4405
    • Polish switching logic and auto switch ha code by @RongtongJin in https://github.com/apache/rocketmq/pull/4406
    • [Summer of code] Reuse dledger remotingServer in controller mode. by @hzh0425 in https://github.com/apache/rocketmq/pull/4409
    • [Summer of code] Record haconnection's lastCaughtUpTimeMs in haService's map by @hzh0425 in https://github.com/apache/rocketmq/pull/4414
    • [Summer of code] Add design and quick_start document for controller mode by @hzh0425 in https://github.com/apache/rocketmq/pull/4413
    • [ISSUE #4384] Add RetryPolicy interface by @drpmma in https://github.com/apache/rocketmq/pull/4397
    • Fix ha controller bugs by @RongtongJin in https://github.com/apache/rocketmq/pull/4422
    • Ensure that new messages cannot be written to messagestore during role change by @RongtongJin in https://github.com/apache/rocketmq/pull/4423
    • [Summer of code] Let controller inform broker that role changed. by @hzh0425 in https://github.com/apache/rocketmq/pull/4424
    • Make broker do not online before get brokerId and master-slave relationship by @RongtongJin in https://github.com/apache/rocketmq/pull/4433
    • [Summer of code] Let controller become role state after append initial logs by @hzh0425 in https://github.com/apache/rocketmq/pull/4442
    • [Summer of code] Let broker register to controller again when master not existed. by @hzh0425 in https://github.com/apache/rocketmq/pull/4450
    • [Summer of code] Use confirm offset in ReputMessageService by @hzh0425 in https://github.com/apache/rocketmq/pull/4449
    • Change PullMessageRequestHeader maxMsgNums to CFNullable by @drpmma in https://github.com/apache/rocketmq/pull/4459
    • Update the logic of confirmOffset and recover topicQueueTable to prevent message loss when broker role change by @RongtongJin in https://github.com/apache/rocketmq/pull/4460
    • Polish the logic of change to master by @RongtongJin in https://github.com/apache/rocketmq/pull/4464
    • Fix bug for putting duplicated messsages while sending batch message by @jameslcj in https://github.com/apache/rocketmq/pull/4466
    • Remove allAckInSyncStateSet in GroupCommitRequest and use ackNums = -1 instead by @RongtongJin in https://github.com/apache/rocketmq/pull/4467
    • [Summer of code] Fix comment by @hzh0425 in https://github.com/apache/rocketmq/pull/4475
    • Add deploy and upgrade guide document for controller mode by @RongtongJin in https://github.com/apache/rocketmq/pull/4476
    • Revert the commits of apis module in 5.0.0-beta by @aaron-ai in https://github.com/apache/rocketmq/pull/4486
    • [ISSUE #4384] Remove TimeUnit in nextDelayDuration by @drpmma in https://github.com/apache/rocketmq/pull/4494
    • [ISSUE#4468] Optimize broker buffer length initialization by @shengminw in https://github.com/apache/rocketmq/pull/4469
    • Re-push RocketMQ's commit logs from May 2013 to December 2016 by @lollipopjin in https://github.com/apache/rocketmq/pull/4503
    • fix notAvailableDuration description in doc file by @zyx333 in https://github.com/apache/rocketmq/pull/4511
    • [ISSUE #4507] fix message trace throws exception #4507 by @thezp in https://github.com/apache/rocketmq/pull/4509
    • [ISSUE #4489]Some trace messages not being sent to the broker in time before producer shutdown. by @zhangjidi2016 in https://github.com/apache/rocketmq/pull/4490
    • [ISSUE #4513] elegant equals using apache-commons by @PansonPanson in https://github.com/apache/rocketmq/pull/4514
    • [ISSUE #4435] Code optimization for ConsumeQueue abstraction. by @Erik1288 in https://github.com/apache/rocketmq/pull/4439
    • [ISSUE #4528] fix test failed sometimes by @cserwen in https://github.com/apache/rocketmq/pull/4529
    • [ISSUE#4520] [Optimization] Implenment adjusting maxMessageSize dynamicly by @shengminw in https://github.com/apache/rocketmq/pull/4521
    • Remove useless doAfterRpcFailure method in RPCHook by @RongtongJin in https://github.com/apache/rocketmq/pull/4538
    • [ISSUE #4544] Print aclConf by @Oliverwqcwrw in https://github.com/apache/rocketmq/pull/4545
    • [ISSUE #4461] Support to change the logger level dynamically by @Oliverwqcwrw in https://github.com/apache/rocketmq/pull/4547
    • [ISSUE #4531] fix unreachable statement, redundant code and code style by @PansonPanson in https://github.com/apache/rocketmq/pull/4532
    • [ISSUE #4515] Remove implement by @Oliverwqcwrw in https://github.com/apache/rocketmq/pull/4516
    • Fix static topic test, await the client metadata to be refreshed by @dongeforever in https://github.com/apache/rocketmq/pull/4500
    • Fix bug that return IN_SYNC_REPLICAS_NOT_ENOUGH when enableSlaveActingMaster is false by @RongtongJin in https://github.com/apache/rocketmq/pull/4554
    • [ISSUE #4445] Update doc by @Oliverwqcwrw in https://github.com/apache/rocketmq/pull/4548
    • Modify Dependency Exclusions for DLedger 0.2.7 by @tsunghanjacktsai in https://github.com/apache/rocketmq/pull/4572
    • Fix examine consume stats for none static topic by @dongeforever in https://github.com/apache/rocketmq/pull/4571
    • Fix misspelling by @gap1994 in https://github.com/apache/rocketmq/pull/4574
    • [ISSUE #4501] fix Namesrv auto discovery not work by @francisoliverlee in https://github.com/apache/rocketmq/pull/4502
    • [ISSUE #4576] Upgrade dledger version to 0.2.7 by @RongtongJin in https://github.com/apache/rocketmq/pull/4577
    • [ISSUE #4579] Fix ACL information update failed bugs by @Oliverwqcwrw in https://github.com/apache/rocketmq/pull/4580
    • The code of 5.0.0-beta merge into develop branch by @RongtongJin in https://github.com/apache/rocketmq/pull/4578
    • Merge 5.0.0 alpha to develop by @duhenglucky in https://github.com/apache/rocketmq/pull/4008
    • Bump commons-io from 2.6 to 2.7 by @dependabot in https://github.com/apache/rocketmq/pull/4600
    • [ISSUE #4597] Fix inaccurate judgement by @Oliverwqcwrw in https://github.com/apache/rocketmq/pull/4598
    • [ISSUE #4579] Add unit test by @Oliverwqcwrw in https://github.com/apache/rocketmq/pull/4586
    • [ISSUE #4607] Fix the wrong format output of clusterlist command by @RongtongJin in https://github.com/apache/rocketmq/pull/4608
    • [ISSUE #4606] Build trace msgs for DefaultLitePullConsumer when poll is called by @cserwen in https://github.com/apache/rocketmq/pull/4611
    • [ISSUE #4617] Correct log info by @Oliverwqcwrw in https://github.com/apache/rocketmq/pull/4618
    • [ISSUE #4167] Fix typo by @Oliverwqcwrw in https://github.com/apache/rocketmq/pull/4619
    • Try to make CI test more stable by @RongtongJin in https://github.com/apache/rocketmq/pull/4616

    New Contributors

    • @hill007299 made their first contribution in https://github.com/apache/rocketmq/pull/2808
    • @chenzlalvin made their first contribution in https://github.com/apache/rocketmq/pull/3153
    • @zyx333 made their first contribution in https://github.com/apache/rocketmq/pull/4511
    • @thezp made their first contribution in https://github.com/apache/rocketmq/pull/4509
    • @gap1994 made their first contribution in https://github.com/apache/rocketmq/pull/4574

    Full Changelog: https://github.com/apache/rocketmq/compare/rocketmq-all-4.9.4...rocketmq-all-5.0.0

    Source code(tar.gz)
    Source code(zip)
  • rocketmq-all-4.9.4(Jun 27, 2022)

    What's Changed

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

    New Contributors

    • @Hen1ng made their first contribution in https://github.com/apache/rocketmq/pull/3926
    • @caigy made their first contribution in https://github.com/apache/rocketmq/pull/3927
    • @ymingxu made their first contribution in https://github.com/apache/rocketmq/pull/3936
    • @HMYDK made their first contribution in https://github.com/apache/rocketmq/pull/3939
    • @MundaneImmortal made their first contribution in https://github.com/apache/rocketmq/pull/3959
    • @hjl11 made their first contribution in https://github.com/apache/rocketmq/pull/4041
    • @dugenkui03 made their first contribution in https://github.com/apache/rocketmq/pull/4085
    • @zfs9521 made their first contribution in https://github.com/apache/rocketmq/pull/4012
    • @dependabot made their first contribution in https://github.com/apache/rocketmq/pull/4119
    • @luky116 made their first contribution in https://github.com/apache/rocketmq/pull/4010
    • @gogodjzhu made their first contribution in https://github.com/apache/rocketmq/pull/4141
    • @6U-U9 made their first contribution in https://github.com/apache/rocketmq/pull/4024
    • @xyjForCoding made their first contribution in https://github.com/apache/rocketmq/pull/4163
    • @samz406 made their first contribution in https://github.com/apache/rocketmq/pull/4205
    • @Oliverwqcwrw made their first contribution in https://github.com/apache/rocketmq/pull/4208
    • @123monkey made their first contribution in https://github.com/apache/rocketmq/pull/4222
    • @iamqq23ue made their first contribution in https://github.com/apache/rocketmq/pull/4219
    • @yuancheng314 made their first contribution in https://github.com/apache/rocketmq/pull/4238
    • @MinXie1209 made their first contribution in https://github.com/apache/rocketmq/pull/4231
    • @francisoliverlee made their first contribution in https://github.com/apache/rocketmq/pull/4217
    • @xichaodong made their first contribution in https://github.com/apache/rocketmq/pull/3879
    • @123liuziming made their first contribution in https://github.com/apache/rocketmq/pull/4285
    • @logicalee made their first contribution in https://github.com/apache/rocketmq/pull/4288
    • @hyl-xidian made their first contribution in https://github.com/apache/rocketmq/pull/4294
    • @TuringLiu made their first contribution in https://github.com/apache/rocketmq/pull/4293
    • @Jacob-Mr-Yang made their first contribution in https://github.com/apache/rocketmq/pull/4298
    • @gobbq made their first contribution in https://github.com/apache/rocketmq/pull/4307
    • @coderbruis made their first contribution in https://github.com/apache/rocketmq/pull/4331
    • @terrance-swn made their first contribution in https://github.com/apache/rocketmq/pull/4296
    • @wzgliang made their first contribution in https://github.com/apache/rocketmq/pull/4303
    • @GLBB made their first contribution in https://github.com/apache/rocketmq/pull/4363
    • @chris-joys made their first contribution in https://github.com/apache/rocketmq/pull/4387
    • @Dios314 made their first contribution in https://github.com/apache/rocketmq/pull/4403
    • @TianMing2018 made their first contribution in https://github.com/apache/rocketmq/pull/3869
    • @fulln made their first contribution in https://github.com/apache/rocketmq/pull/4366
    • @Wushiyii made their first contribution in https://github.com/apache/rocketmq/pull/4447
    • @chaiyx made their first contribution in https://github.com/apache/rocketmq/pull/4059

    Full Changelog: https://github.com/apache/rocketmq/compare/rocketmq-all-4.9.3...rocketmq-all-4.9.4

    Source code(tar.gz)
    Source code(zip)
  • rocketmq-all-4.9.3(Feb 27, 2022)

    What's Changed

    • trivial cleanups by @liurongdev in https://github.com/apache/rocketmq/pull/3403
    • [ISSUE #3420]rocketmq_client.log will not record the asynchronous send… by @panzhi33 in https://github.com/apache/rocketmq/pull/3421
    • [ISSUE #3370] group same Exceptions by @meateggmilk in https://github.com/apache/rocketmq/pull/3419
    • [ISSUE #3430] fix the problem that setting parameter mqClientApiTimeout doesn't take effect by @haozhijie9527 in https://github.com/apache/rocketmq/pull/3431
    • [ISSUE #3381] Fix bug of when role change but not register again by @shendongsd in https://github.com/apache/rocketmq/pull/3442
    • [ISSUE #3459] Fix the problem of Put messages to commitLog always failure after encountering any exception by @jameslcj in https://github.com/apache/rocketmq/pull/3460
    • [ISSUE #3424] Validators.checkMessage() is used twice. by @BingCoke in https://github.com/apache/rocketmq/pull/3435
    • [ISSUE #3467] Fail fast on loading files with error mappedFileSize by @Jason918 in https://github.com/apache/rocketmq/pull/3466
    • [ISSUE #3463] Fix the issue of commitLog path error by @Git-Yang in https://github.com/apache/rocketmq/pull/3464
    • [ISSUE #3286] replace Timer with ScheduledExecutorService by @Git-Yang in https://github.com/apache/rocketmq/pull/3287
    • [ISSUE #XXXX] add defaultRequestProcessor test by @zhaohai1299002788 in https://github.com/apache/rocketmq/pull/3269
    • [ISSUE #3487] Benchmark supports custom AK/SK by @Git-Yang in https://github.com/apache/rocketmq/pull/3488
    • [ISSUE #3527] Fix some request header setting errors and naming issues by @dingshuangxi888 in https://github.com/apache/rocketmq/pull/3530
    • [ISSUE #3528] fix: The value of ChannelOption.SO_BACKLOG should not be hard-coded. by @XiaoyiPeng in https://github.com/apache/rocketmq/pull/3529
    • [ISSUE #2516]: Fix the value of sendThreadPoolQueueHeadWaitTimeMills is 0 most of the time by @XiaoyiPeng in https://github.com/apache/rocketmq/pull/3509
    • fix notes wrong (#3543) by @mrhbj in https://github.com/apache/rocketmq/pull/3544
    • [ISSUE #3562]fix typo in the nameserver startup command options by @NAMANIND in https://github.com/apache/rocketmq/pull/3563
    • [ISSUE #3550] doc:fix typo in readme by @fujian-zfj in https://github.com/apache/rocketmq/pull/3557
    • [ISSUE #3567] fix: The default value of configuration item (PushConsumer#consumeThreadMin) in document and code is different. by @XiaoyiPeng in https://github.com/apache/rocketmq/pull/3568
    • [ISSUE #3558] Clear spelling errors in comments in quickstart by @NAMANIND in https://github.com/apache/rocketmq/pull/3572
    • [ISSUE #3571] optimizing: For a big set, replace sequential iteration addition with a parallel stream when calculating cumulative result. by @XiaoyiPeng in https://github.com/apache/rocketmq/pull/3540
    • [ISSUE #3560] remove deprecated status in the orderly consumer examples. by @NAMANIND in https://github.com/apache/rocketmq/pull/3569
    • [Issue #3564] Enclose namesrvAddr in example of mqadmin tool by quotation marks by @HScarb in https://github.com/apache/rocketmq/pull/3592
    • [Issue #3579]:Fix spelling mistake in getter/setter method of mQClientFactory by @ferrirW in https://github.com/apache/rocketmq/pull/3581
    • [ISSUE #3551] Fix admin cloneoffset by @lushilin in https://github.com/apache/rocketmq/pull/3554
    • [Issue #3476] Fix last separator of properties string is missing when using batch send by @areyouok in https://github.com/apache/rocketmq/pull/3479
    • [ISSUE #3587] Unnecessary boxing of primitives by @zhaohai1299002788 in https://github.com/apache/rocketmq/pull/3596
    • [ISSUE #3565] Removing message filter impldev by @TakshakRamteke in https://github.com/apache/rocketmq/pull/3575
    • [ISSUE #3394] fix duplicate keys in trace message by @yuz10 in https://github.com/apache/rocketmq/pull/3395
    • [ISSUE #3604] Some important interface methods add comment by @tianliuliu in https://github.com/apache/rocketmq/pull/3606
    • [ISSUE #3601] Fix dledger put batch msg stats bug by @Zanglei06 in https://github.com/apache/rocketmq/pull/3600
    • [ISSUE #3603] Fix(client): fetch and commit offset need to use master broker firstly by @lushilin in https://github.com/apache/rocketmq/pull/3605
    • [ISSUE #3585] [Part F] eliminate regex match in topic/group name check by @shuangchengsun in https://github.com/apache/rocketmq/pull/3594
    • [ISSUE #3593] entrySet() replace keySet() by @zhaohai1299002788 in https://github.com/apache/rocketmq/pull/3595
    • [ISSUE #3585] [Part H] Avoid unnecessary StringBuilder resizing on critical path by @Zanglei06 in https://github.com/apache/rocketmq/pull/3612
    • [ISSUE #3453]Producer cannot shutdown completely by @panzhi33 in https://github.com/apache/rocketmq/pull/3454
    • [ISSUE #3602] add AdminBrokerProcessor Test by @zhaohai1299002788 in https://github.com/apache/rocketmq/pull/3599
    • [ISSUE #3424] Polish the doc for tracing parts. by @JayFrank in https://github.com/apache/rocketmq/pull/3573
    • bump up Log4j-core version to 2.15.0 by @ltamber in https://github.com/apache/rocketmq/pull/3621
    • [ISSUE 3585] [Part I] Avoid unnecessary StringBuffer resizing and Str… by @haozhijie9527 in https://github.com/apache/rocketmq/pull/3619
    • [ISSUE 3585] [Part A] eliminate reverse DNS lookup in MessageExt by @areyouok in https://github.com/apache/rocketmq/pull/3586
    • [ISSUE 3585] [Part D] improve performance of createUniqID() by @areyouok in https://github.com/apache/rocketmq/pull/3590
    • [ISSUE #2535] Use one variable value to log info when eventQueue's size more than 10000. by @horizonzy in https://github.com/apache/rocketmq/pull/2536
    • [ISSUE 3585] [Part E] eliminate duplicated getNamespace() call when where is no namespace by @areyouok in https://github.com/apache/rocketmq/pull/3591
    • [ISSUE #3624]DefaultMQPushConsumerTest.testPullMessage_ExceptionOccur… by @panzhi33 in https://github.com/apache/rocketmq/pull/3626
    • [ISSUE #3627]org.apache.rocketmq.broker.processor.SendMessageProcessorTest#testProcessRequest_WithMsgBack failed by @panzhi33 in https://github.com/apache/rocketmq/pull/3629
    • [Issue #3474] Fix illegal message attack by @Aaron-He in https://github.com/apache/rocketmq/pull/3475
    • fix npe of SendMessageProcessorTest by @haozhijie9527 in https://github.com/apache/rocketmq/pull/3632
    • [ISSUE #3635] remove log4j dependency in client pom by @Zanglei06 in https://github.com/apache/rocketmq/pull/3636
    • [ISSUE #3644] exchange parameters by @zhaohai1299002788 in https://github.com/apache/rocketmq/pull/3647
    • [ISSUE #3645] Remove TBW102 topic not found warn log in rocketmq-clie… by @Zanglei06 in https://github.com/apache/rocketmq/pull/3646
    • [ISSUE #3624]fix DefaultMQPushConsumerTest.testPullMessage_ExceptionO… by @panzhi33 in https://github.com/apache/rocketmq/pull/3639
    • [ISSUE #3637] Add enableDetailStat in BrokerConfig so we can disable stat of queue level. by @areyouok in https://github.com/apache/rocketmq/pull/3638
    • [ISSUE #3630] Fix the bug that the broker will hang after polish the headWaitTimeMills method by @RongtongJin in https://github.com/apache/rocketmq/pull/3631
    • [Issue #3649] fix code style of PR #3475 by @Aaron-He in https://github.com/apache/rocketmq/pull/3650
    • [ISSUE #3622] bump up log4j-slf4j-impl version to 2.15.0 by @ltamber in https://github.com/apache/rocketmq/pull/3623
    • [ISSUE #3651] for add netty channel option WRITE_BUFFER_WATER_MARK by @tianliuliu in https://github.com/apache/rocketmq/pull/3652
    • [ISSUE #3654] Polish travis.yml to run integration tests by @RongtongJin in https://github.com/apache/rocketmq/pull/3655
    • [ISSUE #1486] fix CleanUnusedTopicCommand performs wrong by @ChaosYjh in https://github.com/apache/rocketmq/pull/1487
    • [ISSUE #2472] Add producer best practice for english by @coder-zzzz in https://github.com/apache/rocketmq/pull/2473
    • [ISSUE #1097]Fix null pointer problem when consumption start time is null by @ssssssnake in https://github.com/apache/rocketmq/pull/1098
    • [ISSUE 3585] [Part C] cache the result of parseChannelRemoteAddr() by @areyouok in https://github.com/apache/rocketmq/pull/3589
    • [ISSUE #1843] Fix broker error when producer send to retry topic by @xujianhai666 in https://github.com/apache/rocketmq/pull/1844
    • [ISSUE #2383] [Enhancement]Export putMessageFailedTimes with broker status by @maixiaohai in https://github.com/apache/rocketmq/pull/2385
    • [ISSUE #3613] bug fix, solve message hash conflict in index file by @xijiu in https://github.com/apache/rocketmq/pull/3616
    • [ISSUE #XXXX] Fix spelling error in DefaultMessageStore by @HScarb in https://github.com/apache/rocketmq/pull/3663
    • Optimize RemotingHelper#parseSocketAddressAddr by @rushsky518 in https://github.com/apache/rocketmq/pull/1764
    • [ISSUE #3585] [Part J] Use MappedByteBuffer instead of FileChannel to … by @areyouok in https://github.com/apache/rocketmq/pull/3657
    • [ISSUE #3674] Improve the test cases of the tools module by @xijiu in https://github.com/apache/rocketmq/pull/3672
    • [ISSUE #3539] Add parameter verification by @zhaohai1299002788 in https://github.com/apache/rocketmq/pull/3656
    • [ISSUE #3673] fix resetOffsetByTimestampOld() topicRouteMap maintain broker-queueNums relationship by @MatrixHB in https://github.com/apache/rocketmq/pull/3686
    • [ISSUE #XXXX] optimize namesrv default address docs by @slievrly in https://github.com/apache/rocketmq/pull/3214
    • [ISSUE #3692] docs: Modify the title content about the message query documentation. by @XiaoyiPeng in https://github.com/apache/rocketmq/pull/3693
    • [ISSUE #3696]Optimize the query consumer connection display by @zhangjidi2016 in https://github.com/apache/rocketmq/pull/3697
    • [ISSUE #3685] Fix param spelling error by @RookieRoll in https://github.com/apache/rocketmq/pull/3678
    • [ISSUE #2969] Add a skip accumulation message command in mqadmin. by @zhangjidi2016 in https://github.com/apache/rocketmq/pull/2970
    • [RIP-9] add DefaultPullConsumer api doc by @andrexuDeveloper in https://github.com/apache/rocketmq/pull/1085
    • [ISSUE #3687] Fix wrong method comment about transaction message. by @XiaoyiPeng in https://github.com/apache/rocketmq/pull/3689
    • [ISSUE #3173]Isolate Broker logs when multiple Broker services are deployed on the same machine. by @zhangjidi2016 in https://github.com/apache/rocketmq/pull/3174
    • [ISSUE #3709] Fix the problem that the result of requesting information from multiple addresses does not overlap when exporting Metadate. by @weibubli in https://github.com/apache/rocketmq/pull/3727
    • [ISSUE #3733] Upgrade dledger version to 0.2.3 by @RongtongJin in https://github.com/apache/rocketmq/pull/3734
    • [ISSUE #3728] docs: Make the 'Uses of keys' entry in the document 'Best practices' more complete. by @XiaoyiPeng in https://github.com/apache/rocketmq/pull/3729
    • [ISSUE #3738]Remove redundant callee of String.valueOf by @kealdishx in https://github.com/apache/rocketmq/pull/3739
    • [ISSUE #3223]Optimize startup script to support greater jdk version by @ltamber in https://github.com/apache/rocketmq/pull/3224
    • [Issue #3579] rollback spelling fix to avoid incompatible problem by @MatrixHB in https://github.com/apache/rocketmq/pull/3749
    • [ISSUE #3751] docs: Fix typos and other little error in the document 'Configuration_Client.md' by @XiaoyiPeng in https://github.com/apache/rocketmq/pull/3752
    • [RIP-28] light message queue(LMQ) by @tianliuliu in https://github.com/apache/rocketmq/pull/3694
    • [ISSUE #3666] fix build error in RIP-28 at getmQclientFactory by @ShannonDing in https://github.com/apache/rocketmq/pull/3753
    • [ISSUE #3666]fix CI error in RIP-28 at getmQClientFactory by @ShannonDing in https://github.com/apache/rocketmq/pull/3754
    • [Issue #3556] Fix:When broker is down, rocketmq client can not retry under Async send model by @lwclover in https://github.com/apache/rocketmq/pull/3555
    • [ISSUE #2580] Check producerTable or consumerTable is empty when updateTopicRouteInfoFromNameServer by @horizonzy in https://github.com/apache/rocketmq/pull/2581
    • [ISSUE #3642] Display GID and Topic with namespace by @zhaohai1299002788 in https://github.com/apache/rocketmq/pull/3648
    • [ISSUE #3757] docs: Polish the document 'Design_Query.md'. by @XiaoyiPeng in https://github.com/apache/rocketmq/pull/3758
    • [ISSUE #XXXX] Avoid new lines in log by @yuz10 in https://github.com/apache/rocketmq/pull/3762
    • [ISSUE #3684] change client jdk version to 1.6 by @duhenglucky in https://github.com/apache/rocketmq/pull/3683
    • [ISSUE #951]Fixed an incorrect offset problem in the ResetOffsetByTimeCommand by @ssssssnake in https://github.com/apache/rocketmq/pull/1077
    • [ISSUE #3773]Adding exception message with broker addr when occuring broker connect timeout by @lwclover in https://github.com/apache/rocketmq/pull/3772
    • [ISSUE #3774] docs: Polish the document 'Example_Transaction.md'. by @XiaoyiPeng in https://github.com/apache/rocketmq/pull/3775
    • [ISSUE #3015] when slaveAckOffset greater than local commitLog offset, break … by @makabakaboom in https://github.com/apache/rocketmq/pull/3016
    • [ISSUE #3449] Delayed message supports asynchronous delivery by @Git-Yang in https://github.com/apache/rocketmq/pull/3458
    • [ISSUE #XXXX] Remove useless code by @Colin678 in https://github.com/apache/rocketmq/pull/3695
    • [ISSUE #3724]: Polish the unit test of class ConsumeMessageConcurrentlyService by @XiaoyiPeng in https://github.com/apache/rocketmq/pull/3725
    • [ISSUE #3782] docs: Fix the default value of parameter 'sendMsgTimeout'. by @XiaoyiPeng in https://github.com/apache/rocketmq/pull/3783
    • [ISSUE #3048]add example of OnewayProducer and ScheduledMessage by @zplovekq in https://github.com/apache/rocketmq/pull/3053
    • [ISSUE #3794] add DefaultMQPullConsumer document specification by @Kvicii in https://github.com/apache/rocketmq/pull/3796
    • [ISSUE #3720]perf: avoid multiple expansion when the number of elements in the MessageConst class is determined by @xdshent in https://github.com/apache/rocketmq/pull/3721
    • [ISSUE #3801] Polish the document 'CLITools.md'. by @XiaoyiPeng in https://github.com/apache/rocketmq/pull/3802
    • [ISSUE #3789] optimize: Tag the name of consuming thread whith consumeGroup. by @XiaoyiPeng in https://github.com/apache/rocketmq/pull/3795
    • [ISSUE #3786] fix: The length of properties value should be checked before converting them to short. by @XiaoyiPeng in https://github.com/apache/rocketmq/pull/3788
    • [ISSUE #3812] DefaultMQProducer#sendKernelImpl Line760 tranMsg does not need to check for null when using Boolean.parseBoolean() by @Kvicii in https://github.com/apache/rocketmq/pull/3813
    • [Issue-3816] upgrade log4jv2 to 2.17.1 by @pjfanning in https://github.com/apache/rocketmq/pull/3817
    • [Issue-3814] use snakeyaml 1.30 by @pjfanning in https://github.com/apache/rocketmq/pull/3815
    • [ISSUE #3818] update guava to 31.0.1-jre by @pjfanning in https://github.com/apache/rocketmq/pull/3821
    • [ISSUE #3674] add tests for AllocateMessageQueueAveragely by @yuz10 in https://github.com/apache/rocketmq/pull/3811
    • [ISSUE #3797] Improve DefaultMQProducerImpl code by @Kvicii in https://github.com/apache/rocketmq/pull/3809
    • Update design.md by @caomao95 in https://github.com/apache/rocketmq/pull/3835
    • [ISSUE #3825] Use default SO_SNDBUF/SO_RCVBUF/WRITE_BUFFER_WATER_MARK value by @areyouok in https://github.com/apache/rocketmq/pull/3826
    • [ISSUE #3832] in order to improve the performance by change the variable location of queueId by @Aaron-TangCode in https://github.com/apache/rocketmq/pull/3833
    • [ISSUE #3674]Add unit test for AllocateMessageQueueAveragelyByCircle by @zhangjidi2016 in https://github.com/apache/rocketmq/pull/3839
    • [ISSUE #3674] add tests for computePullFromWhereWithException by @yuz10 in https://github.com/apache/rocketmq/pull/3844
    • Re-enable testing on ARM64 by @martin-g in https://github.com/apache/rocketmq/pull/3850
    • [ISSUE #3852]Move the Logappender module to external by @duhenglucky in https://github.com/apache/rocketmq/pull/3851
    • [ISSUE #3853]add log for interruptedException by @ni-ze in https://github.com/apache/rocketmq/pull/3854
    • [ISSUE #3827]Improve Performance of transactional message and schedule message by @shuangchengsun in https://github.com/apache/rocketmq/pull/3828
    • [ISSUE #3860] fix wrong use of scheduleAtFixedRate in client code by @MatrixHB in https://github.com/apache/rocketmq/pull/3861
    • [ISSUE #3863] Updated Notice file to 2022 by @llIlll in https://github.com/apache/rocketmq/pull/3864
    • [ISSUE #2986] Support for multiple ACL files in a fixed directory by @sunxi92 in https://github.com/apache/rocketmq/pull/3761
    • [ISSUE #3836] depreciated unused class by @RishiKumarRay in https://github.com/apache/rocketmq/pull/3846

    New Contributors

    • @liurongdev made their first contribution in https://github.com/apache/rocketmq/pull/3403
    • @meateggmilk made their first contribution in https://github.com/apache/rocketmq/pull/3419
    • @haozhijie9527 made their first contribution in https://github.com/apache/rocketmq/pull/3431
    • @jameslcj made their first contribution in https://github.com/apache/rocketmq/pull/3460
    • @BingCoke made their first contribution in https://github.com/apache/rocketmq/pull/3435
    • @zhaohai1299002788 made their first contribution in https://github.com/apache/rocketmq/pull/3269
    • @dingshuangxi888 made their first contribution in https://github.com/apache/rocketmq/pull/3530
    • @XiaoyiPeng made their first contribution in https://github.com/apache/rocketmq/pull/3529
    • @mrhbj made their first contribution in https://github.com/apache/rocketmq/pull/3544
    • @NAMANIND made their first contribution in https://github.com/apache/rocketmq/pull/3563
    • @fujian-zfj made their first contribution in https://github.com/apache/rocketmq/pull/3557
    • @HScarb made their first contribution in https://github.com/apache/rocketmq/pull/3592
    • @ferrirW made their first contribution in https://github.com/apache/rocketmq/pull/3581
    • @TakshakRamteke made their first contribution in https://github.com/apache/rocketmq/pull/3575
    • @tianliuliu made their first contribution in https://github.com/apache/rocketmq/pull/3606
    • @shuangchengsun made their first contribution in https://github.com/apache/rocketmq/pull/3594
    • @JayFrank made their first contribution in https://github.com/apache/rocketmq/pull/3573
    • @ltamber made their first contribution in https://github.com/apache/rocketmq/pull/3621
    • @ssssssnake made their first contribution in https://github.com/apache/rocketmq/pull/1098
    • @xijiu made their first contribution in https://github.com/apache/rocketmq/pull/3616
    • @MatrixHB made their first contribution in https://github.com/apache/rocketmq/pull/3686
    • @slievrly made their first contribution in https://github.com/apache/rocketmq/pull/3214
    • @RookieRoll made their first contribution in https://github.com/apache/rocketmq/pull/3678
    • @weibubli made their first contribution in https://github.com/apache/rocketmq/pull/3727
    • @kealdishx made their first contribution in https://github.com/apache/rocketmq/pull/3739
    • @Colin678 made their first contribution in https://github.com/apache/rocketmq/pull/3695
    • @Kvicii made their first contribution in https://github.com/apache/rocketmq/pull/3796
    • @xdshent made their first contribution in https://github.com/apache/rocketmq/pull/3721
    • @pjfanning made their first contribution in https://github.com/apache/rocketmq/pull/3817
    • @caomao95 made their first contribution in https://github.com/apache/rocketmq/pull/3835
    • @Aaron-TangCode made their first contribution in https://github.com/apache/rocketmq/pull/3833
    • @ni-ze made their first contribution in https://github.com/apache/rocketmq/pull/3854
    • @llIlll made their first contribution in https://github.com/apache/rocketmq/pull/3864
    • @RishiKumarRay made their first contribution in https://github.com/apache/rocketmq/pull/3846

    Full Changelog: https://github.com/apache/rocketmq/compare/rocketmq-all-4.9.2...rocketmq-all-4.9.3

    Source code(tar.gz)
    Source code(zip)
  • rocketmq-all-4.9.2(Oct 26, 2021)

    What's Changed

    • Looking at the Chinese document, I found that the subtraction operation. by @zyh-future in https://github.com/apache/rocketmq/pull/3033
    • [ISSUE #3006]Replace ScheduledExecutorService instead of Timer to avoid affecting other tasks during exception by @zhenhe in https://github.com/apache/rocketmq/pull/3001
    • [ISSUE 3203] Replace the class 'StringBuffer' by 'StringBuilder' by @gorden5566 in https://github.com/apache/rocketmq/pull/3204
    • [ISSUE #3215] polish litePullConsumer seek logic #3216 by @guyinyou in https://github.com/apache/rocketmq/pull/3283
    • [ISSUE #3284]Optimizing benchmark code by @zhangjidi2016 in https://github.com/apache/rocketmq/pull/3285
    • [ISSUE #3136] TraceDataEncoder add SubAfter trace bean timestamp by @StyleTang in https://github.com/apache/rocketmq/pull/3137
    • [ISSUE #3284]Optimizing benchmark code by @keepal7 in https://github.com/apache/rocketmq/pull/3317
    • [ISSUE #3194] [PART A] Use LongAdder instead of AtomicLong in BrokerStatsService to improve performance. by @areyouok in https://github.com/apache/rocketmq/pull/3195
    • [ISSUE #3284]Optimize the buildMessage method by @zhangjidi2016 in https://github.com/apache/rocketmq/pull/3324
    • [ISSUE #3333] Remove commons-codes dependency by @areyouok in https://github.com/apache/rocketmq/pull/3334
    • [ISSUE #3339] (doc)fix typo in update operation.md by @WuHang1 in https://github.com/apache/rocketmq/pull/3339
    • [ISSUS #3340] (doc)add hyperlink for client repos in the introduction. by @TrumanDu in https://github.com/apache/rocketmq/pull/3338
    • [ISSUE #3326] fix send trace fail if broker set tls.server.mode=enforcing by @yuz10 in https://github.com/apache/rocketmq/pull/3325
    • [ISSUE #2724] Resend message to DLQ directly when max reconsume times reach by @maixiaohai in https://github.com/apache/rocketmq/pull/3318
    • [ISSUE #3296] Add get stats and single queue stats for schedule topic by @Git-Yang in https://github.com/apache/rocketmq/pull/3302
    • [ISSUE #3314] Make mqClientApi request timeout settable by @lizhiboo in https://github.com/apache/rocketmq/pull/3313
    • [ISSUE #3245] Use df algorithm to calculate the disk used ratio by @aaron-ai in https://github.com/apache/rocketmq/pull/3344
    • [ISSUE #3346]Avoid double parse remoteAddr in rpcHook call by @WJL3333 in https://github.com/apache/rocketmq/pull/3345
    • [ISSUE #3225]change Random to ThreadLocalRandom in broker by @lfz757077613 in https://github.com/apache/rocketmq/pull/3220
    • [ISSUE #1848] Add write perm admin command by @coder-zzzz in https://github.com/apache/rocketmq/pull/1858
    • [ISSUE #3281]fix fail to delete topic perm list and global white address(#3128) by @yuz10 in https://github.com/apache/rocketmq/pull/3280
    • [ISSUE #3194] [PART C] Replace AtomicLong with LongAdder in StatsItem.java to improve performance by @areyouok in https://github.com/apache/rocketmq/pull/3351
    • [ISSUE #2436] DLQ topic default perm change by @maixiaohai in https://github.com/apache/rocketmq/pull/2437
    • [ISSUE #3361]DefaultMQProducer's constructor can call the overloaded constructor. by @zhangjidi2016 in https://github.com/apache/rocketmq/pull/3362
    • [ISSUE #2726] retrying by customizing response code by @wz2cool in https://github.com/apache/rocketmq/pull/2729
    • [ISSUE #2964] Add a query consumer config command in mqadmin. by @zhangjidi2016 in https://github.com/apache/rocketmq/pull/2965
    • [ISSUE #XXXX] Update rocketmq client maven version by @zhouwentong1993 in https://github.com/apache/rocketmq/pull/3335
    • [ISSUE #3347] Improve performance of expandIP, and readable by @844392610 in https://github.com/apache/rocketmq/pull/3322
    • [ISSUE #3308] production level pull api demo by @lwclover in https://github.com/apache/rocketmq/pull/3295
    • Update RocketMQ_Example.md by @Silverados in https://github.com/apache/rocketmq/pull/3303
    • Update Example_Batch.md by @Silverados in https://github.com/apache/rocketmq/pull/3304
    • [ISSUE #1869] Delay message can't be consumed when delay offset in delayOffset.json is wrong by @RongtongJin in https://github.com/apache/rocketmq/pull/3358
    • RIP-7 Multiple Directories Storage Support by @Jason918 in https://github.com/apache/rocketmq/pull/3357
    • [ISSUE #3379] Fix formatting errors by @Git-Yang in https://github.com/apache/rocketmq/pull/3380
    • [ISSUE #3375] Lazy init GetMessageResult only when find message. by @WJL3333 in https://github.com/apache/rocketmq/pull/3374
    • [ISSUE #2667] Repair 'file doesn't exist on this path' by @Git-Yang in https://github.com/apache/rocketmq/pull/3278
    • [ISSUE #503] NOT_CONSUME_YET not right in RocketMQ Console by @sunbufu in https://github.com/apache/rocketmq/pull/3091
    • [ISSUE #3384] Add SendBack message to SCHEDULE_TOPIC_XXXX stats by @Git-Yang in https://github.com/apache/rocketmq/pull/3385
    • [ISSUE #3288] Fix producer always timeouts while sending first message by @Loyilee in https://github.com/apache/rocketmq/pull/3383
    • [ISSUE #2962] Implement DefaultMQAdminExt::examineTopicConfig function by @Aaron-He in https://github.com/apache/rocketmq/pull/3039
    • Fix wrong comment by @MingJunDuan in https://github.com/apache/rocketmq/pull/3400
    • [ISSUE #3148]Support metadata export by @panzhi33 in https://github.com/apache/rocketmq/pull/3149
    • [ISSUE #3415] Fix the problem of failure during checkstyle execution by @Git-Yang in https://github.com/apache/rocketmq/pull/3416

    New Contributors

    • @zyh-future made their first contribution in https://github.com/apache/rocketmq/pull/3033
    • @zhenhe made their first contribution in https://github.com/apache/rocketmq/pull/3001
    • @StyleTang made their first contribution in https://github.com/apache/rocketmq/pull/3137
    • @keepal7 made their first contribution in https://github.com/apache/rocketmq/pull/3317
    • @WuHang1 made their first contribution in https://github.com/apache/rocketmq/pull/3339
    • @TrumanDu made their first contribution in https://github.com/apache/rocketmq/pull/3338
    • @aaron-ai made their first contribution in https://github.com/apache/rocketmq/pull/3344
    • @WJL3333 made their first contribution in https://github.com/apache/rocketmq/pull/3345
    • @wz2cool made their first contribution in https://github.com/apache/rocketmq/pull/2729
    • @zhouwentong1993 made their first contribution in https://github.com/apache/rocketmq/pull/3335
    • @844392610 made their first contribution in https://github.com/apache/rocketmq/pull/3322
    • @Silverados made their first contribution in https://github.com/apache/rocketmq/pull/3303
    • @Loyilee made their first contribution in https://github.com/apache/rocketmq/pull/3383
    • @MingJunDuan made their first contribution in https://github.com/apache/rocketmq/pull/3400

    Full Changelog: https://github.com/apache/rocketmq/compare/rocketmq-all-4.9.1...rocketmq-all-4.9.2

    Source code(tar.gz)
    Source code(zip)
  • rocketmq-all-5.0.0-PREVIEW(Dec 9, 2021)

    What's Changed

    • [RIP-19] Pop Consuming (submodule "common") by @ayanamist in https://github.com/apache/rocketmq/pull/2721
    • [RIP-19] Pop Consuming (submodule "store") by @ayanamist in https://github.com/apache/rocketmq/pull/2733
    • [RIP-19] Pop Consuming (submodule "broker") by @ayanamist in https://github.com/apache/rocketmq/pull/2757
    • [RIP-19] Pop Consuming (client) by @hill007299 in https://github.com/apache/rocketmq/pull/2808
    • [RIP-19] Pop Consuming (tools) by @hill007299 in https://github.com/apache/rocketmq/pull/2825
    • [RIP-19] Pop Consuming (integration test) by @hill007299 in https://github.com/apache/rocketmq/pull/2835
    • [RIP-19] Pop consumer docs by @hill007299 in https://github.com/apache/rocketmq/pull/2862
    • [RIP-19] Polish pop consume comment by @duhenglucky in https://github.com/apache/rocketmq/pull/2908
    • [RIP-19] Server-side rebalance, lightweight consumer client support by @duhenglucky in https://github.com/apache/rocketmq/pull/2867
    • [RIP-21] Logic Queue submodule common & client by @ayanamist in https://github.com/apache/rocketmq/pull/3127
    • [RIP-21] RocketMQ Logic Queue by @chenzlalvin in https://github.com/apache/rocketmq/pull/3153
    • [ISSUE #3290] Test case testProcessRequest_RegisterBrokerLogicalQueue bug fix by @odbozhou in https://github.com/apache/rocketmq/pull/3291

    New Contributors

    • @hill007299 made their first contribution in https://github.com/apache/rocketmq/pull/2808
    • @chenzlalvin made their first contribution in https://github.com/apache/rocketmq/pull/3153

    Full Changelog: https://github.com/apache/rocketmq/compare/rocketmq-all-4.9.0...rocketmq-all-5.0.0-PREVIEW

    Source code(tar.gz)
    Source code(zip)
  • rocketmq-all-4.9.1(Aug 23, 2021)

  • rocketmq-all-4.9.0(Jun 17, 2021)

  • rocketmq-all-4.8.0(Dec 9, 2020)

Owner
The Apache Software Foundation
The Apache Software Foundation
Mirror of Apache Kafka

Apache Kafka See our web site for details on the project. You need to have Java installed. We build and test Apache Kafka with Java 8, 11 and 15. We s

The Apache Software Foundation 23.9k Jan 5, 2023
Mirror of Apache ActiveMQ

Welcome to Apache ActiveMQ Apache ActiveMQ is a high performance Apache 2.0 licensed Message Broker and JMS 1.1 implementation. Getting Started To hel

The Apache Software Foundation 2.1k Jan 2, 2023
Mirror of Apache ActiveMQ Artemis

ActiveMQ Artemis This file describes some minimum 'stuff one needs to know' to get started coding in this project. Source For details about the modify

The Apache Software Foundation 824 Dec 26, 2022
FLiP: StreamNative: Cloud-Native: Streaming Analytics Using Apache Flink SQL on Apache Pulsar

StreamingAnalyticsUsingFlinkSQL FLiP: StreamNative: Cloud-Native: Streaming Analytics Using Apache Flink SQL on Apache Pulsar Running on NVIDIA XAVIER

Timothy Spann 5 Dec 19, 2021
Apache Camel is an open source integration framework that empowers you to quickly and easily integrate various systems consuming or producing data.

Apache Camel Apache Camel is a powerful, open-source integration framework based on prevalent Enterprise Integration Patterns with powerful bean integ

The Apache Software Foundation 4.7k Dec 31, 2022
Apache Pulsar - distributed pub-sub messaging system

Pulsar is a distributed pub-sub messaging platform with a very flexible messaging model and an intuitive client API. Learn more about Pulsar at https:

The Apache Software Foundation 12.1k Jan 4, 2023
An XMPP server licensed under the Open Source Apache License.

Openfire About Openfire is a real time collaboration (RTC) server licensed under the Open Source Apache License. It uses the only widely adopted open

Ignite Realtime 2.6k Jan 3, 2023
Kryptonite is a turn-key ready transformation (SMT) for Apache Kafka® Connect to do field-level 🔒 encryption/decryption 🔓 of records. It's an UNOFFICIAL community project.

Kryptonite - An SMT for Kafka Connect Kryptonite is a turn-key ready transformation (SMT) for Apache Kafka® to do field-level encryption/decryption of

Hans-Peter Grahsl 53 Jan 3, 2023
Dagger is an easy-to-use, configuration over code, cloud-native framework built on top of Apache Flink for stateful processing of real-time streaming data.

Dagger Dagger or Data Aggregator is an easy-to-use, configuration over code, cloud-native framework built on top of Apache Flink for stateful processi

Open DataOps Foundation 238 Dec 22, 2022
Template for an Apache Flink project.

Minimal Apache Flink Project Template It contains some basic jobs for testing if everything runs smoothly. How to Use This Repository Import this repo

Timo Walther 2 Sep 20, 2022
Mirror of Apache RocketMQ

Apache RocketMQ Apache RocketMQ is a distributed messaging and streaming platform with low latency, high performance and reliability, trillion-level c

The Apache Software Foundation 18.5k Dec 28, 2022
Apache rocketmq

RocketMQ Streams Features 轻量级部署:可以单独部署,也支持集群部署 多种类型的数据输入以及输出,source支持 rocketmq , sink支持db, rocketmq 等 DataStream Example import org.apache.rocketmq.st

The Apache Software Foundation 145 Jan 6, 2023
mall4cloud微服务商城,基于Spring Cloud、Nacos、Seata、Mysql、Redis、RocketMQ、canal、ElasticSearch、minio的B2B2C微服务商城系统,采用主流的互联网技术架构、全新的UI设计 B2B2C微服务商城|小程序微服务商城|

README 前言 本商城是基于Spring Cloud、Nacos、Seata、Mysql、Redis、RocketMQ、canal、ElasticSearch、minio的微服务B2B2C电商商城系统,采用主流的互联网技术架构、全新的UI设计、支持集群部署、服务注册和发现以及拥有完整的订单流程等

null 3k Jan 1, 2023
Mirror of Apache Deltaspike

Apache DeltaSpike Documentation Mailing Lists Contribution Guide JIRA Apache License v2.0 Apache DeltaSpike is a suite of portable CDI Extensions inte

The Apache Software Foundation 141 Jan 1, 2023
Mirror of Apache Mahout

Welcome to Apache Mahout! The goal of the Apache Mahout™ project is to build an environment for quickly creating scalable, performant machine learning

The Apache Software Foundation 2k Jan 4, 2023
Mirror of Apache Kafka

Apache Kafka See our web site for details on the project. You need to have Java installed. We build and test Apache Kafka with Java 8, 11 and 15. We s

The Apache Software Foundation 23.9k Jan 5, 2023
Mirror of Apache ActiveMQ

Welcome to Apache ActiveMQ Apache ActiveMQ is a high performance Apache 2.0 licensed Message Broker and JMS 1.1 implementation. Getting Started To hel

The Apache Software Foundation 2.1k Jan 2, 2023
Mirror of Apache ActiveMQ Artemis

ActiveMQ Artemis This file describes some minimum 'stuff one needs to know' to get started coding in this project. Source For details about the modify

The Apache Software Foundation 824 Dec 26, 2022
Mirror of Apache Storm

Master Branch: Storm is a distributed realtime computation system. Similar to how Hadoop provides a set of general primitives for doing batch processi

The Apache Software Foundation 6.4k Dec 26, 2022
Mirror of Apache SIS

============================================= Welcome to Apache SIS <http://sis.apache.org> ============================================= SIS is a Ja

The Apache Software Foundation 81 Dec 26, 2022