This is an automated email from the ASF dual-hosted git repository.
lizhimin pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git
The following commit(s) were added to refs/heads/develop by this push:
new 0b0f8ec946 [ISSUE #8599] Fix send fail without retry when get GO_AWAY
twice (#8603)
0b0f8ec946 is described below
commit 0b0f8ec946e58b2e032328b0f06960962afcca03
Author: qianye <[email protected]>
AuthorDate: Thu Sep 5 14:16:43 2024 +0800
[ISSUE #8599] Fix send fail without retry when get GO_AWAY twice (#8603)
---
.../java/org/apache/rocketmq/client/producer/DefaultMQProducer.java | 3 ++-
.../org/apache/rocketmq/client/producer/DefaultMQProducerTest.java | 2 +-
.../java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java | 1 +
3 files changed, 4 insertions(+), 2 deletions(-)
diff --git
a/client/src/main/java/org/apache/rocketmq/client/producer/DefaultMQProducer.java
b/client/src/main/java/org/apache/rocketmq/client/producer/DefaultMQProducer.java
index 3ecd5987c3..b47c01f676 100644
---
a/client/src/main/java/org/apache/rocketmq/client/producer/DefaultMQProducer.java
+++
b/client/src/main/java/org/apache/rocketmq/client/producer/DefaultMQProducer.java
@@ -79,7 +79,8 @@ public class DefaultMQProducer extends ClientConfig
implements MQProducer {
ResponseCode.SYSTEM_BUSY,
ResponseCode.NO_PERMISSION,
ResponseCode.NO_BUYER_ID,
- ResponseCode.NOT_IN_CURRENT_UNIT
+ ResponseCode.NOT_IN_CURRENT_UNIT,
+ ResponseCode.GO_AWAY
));
/**
diff --git
a/client/src/test/java/org/apache/rocketmq/client/producer/DefaultMQProducerTest.java
b/client/src/test/java/org/apache/rocketmq/client/producer/DefaultMQProducerTest.java
index 96086c7a25..be277f69bc 100644
---
a/client/src/test/java/org/apache/rocketmq/client/producer/DefaultMQProducerTest.java
+++
b/client/src/test/java/org/apache/rocketmq/client/producer/DefaultMQProducerTest.java
@@ -769,7 +769,7 @@ public class DefaultMQProducerTest {
@Test
public void assertGetRetryResponseCodes() {
assertNotNull(producer.getRetryResponseCodes());
- assertEquals(7, producer.getRetryResponseCodes().size());
+ assertEquals(8, producer.getRetryResponseCodes().size());
}
@Test
diff --git
a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java
b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java
index 6f61e75e01..9f3136195b 100644
---
a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java
+++
b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java
@@ -278,6 +278,7 @@ public abstract class NettyRemotingAbstract {
"please go away");
response.setOpaque(opaque);
writeResponse(ctx.channel(), cmd, response);
+ log.info("proxy is shutting down, write response GO_AWAY.
channel={}, requestCode={}, opaque={}", ctx.channel(), cmd.getCode(), opaque);
return;
}
}