You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by hu...@apache.org on 2021/12/01 10:38:01 UTC

[rocketmq] 10/11: 使slave状态不影响事务消息发送

This is an automated email from the ASF dual-hosted git repository.

huangli pushed a commit to branch 4.9.2_dev_community
in repository https://gitbox.apache.org/repos/asf/rocketmq.git

commit 50c1da38720b1132d45bfde67d8aa6a05d47bac5
Author: sunshuangcheng <sh...@163.com>
AuthorDate: Mon Nov 22 12:53:46 2021 +0800

    使slave状态不影响事务消息发送
---
 .../apache/rocketmq/client/impl/producer/DefaultMQProducerImpl.java | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/client/src/main/java/org/apache/rocketmq/client/impl/producer/DefaultMQProducerImpl.java b/client/src/main/java/org/apache/rocketmq/client/impl/producer/DefaultMQProducerImpl.java
index 117a8c6..cdb6836 100644
--- a/client/src/main/java/org/apache/rocketmq/client/impl/producer/DefaultMQProducerImpl.java
+++ b/client/src/main/java/org/apache/rocketmq/client/impl/producer/DefaultMQProducerImpl.java
@@ -1351,6 +1351,8 @@ public class DefaultMQProducerImpl implements MQProducerInner {
         LocalTransactionState localTransactionState = LocalTransactionState.UNKNOW;
         Throwable localException = null;
         switch (sendResult.getSendStatus()) {
+            case FLUSH_SLAVE_TIMEOUT:
+            case SLAVE_NOT_AVAILABLE:
             case SEND_OK: {
                 try {
                     if (sendResult.getTransactionId() != null) {
@@ -1380,10 +1382,8 @@ public class DefaultMQProducerImpl implements MQProducerInner {
                     localException = e;
                 }
             }
-            break;
+                break;
             case FLUSH_DISK_TIMEOUT:
-            case FLUSH_SLAVE_TIMEOUT:
-            case SLAVE_NOT_AVAILABLE:
                 localTransactionState = LocalTransactionState.ROLLBACK_MESSAGE;
                 break;
             default: