You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by zh...@apache.org on 2023/03/13 06:19:30 UTC
[rocketmq] branch develop updated: [ISSUE #6272]Add judgment for SendLatencyFault in MQFaultStrategy#selectOneMessageQueue (#6273)
This is an automated email from the ASF dual-hosted git repository.
zhouxzhan 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 47355d115 [ISSUE #6272]Add judgment for SendLatencyFault in MQFaultStrategy#selectOneMessageQueue (#6273)
47355d115 is described below
commit 47355d115d9c9569e3f9db6ce17f0a5610da1a2c
Author: mxsm <lj...@gmail.com>
AuthorDate: Mon Mar 13 14:19:08 2023 +0800
[ISSUE #6272]Add judgment for SendLatencyFault in MQFaultStrategy#selectOneMessageQueue (#6273)
* [ISSUE #6272]Add judgment for SendLatencyFault in MQFaultStrategy#selectOneMessageQueue
* fix code style
---
.../main/java/org/apache/rocketmq/client/latency/MQFaultStrategy.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/client/src/main/java/org/apache/rocketmq/client/latency/MQFaultStrategy.java b/client/src/main/java/org/apache/rocketmq/client/latency/MQFaultStrategy.java
index bd0818688..e86238e55 100644
--- a/client/src/main/java/org/apache/rocketmq/client/latency/MQFaultStrategy.java
+++ b/client/src/main/java/org/apache/rocketmq/client/latency/MQFaultStrategy.java
@@ -17,6 +17,7 @@
package org.apache.rocketmq.client.latency;
+import org.apache.commons.lang3.StringUtils;
import org.apache.rocketmq.client.impl.producer.TopicPublishInfo;
import org.apache.rocketmq.common.message.MessageQueue;
import org.apache.rocketmq.logging.org.slf4j.Logger;
@@ -62,8 +63,9 @@ public class MQFaultStrategy {
for (int i = 0; i < tpInfo.getMessageQueueList().size(); i++) {
int pos = index++ % tpInfo.getMessageQueueList().size();
MessageQueue mq = tpInfo.getMessageQueueList().get(pos);
- if (latencyFaultTolerance.isAvailable(mq.getBrokerName()))
+ if (!StringUtils.equals(lastBrokerName, mq.getBrokerName()) && latencyFaultTolerance.isAvailable(mq.getBrokerName())) {
return mq;
+ }
}
final String notBestBroker = latencyFaultTolerance.pickOneAtLeast();