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 e8d1472fb7 [ISSUE #8712] Set namesrvAddrChoosed to null if choosed
addr is not exist (#8713)
e8d1472fb7 is described below
commit e8d1472fb7a592ee605a7e7a12faef82e8c672fa
Author: qianye <[email protected]>
AuthorDate: Mon Sep 23 12:28:42 2024 +0800
[ISSUE #8712] Set namesrvAddrChoosed to null if choosed addr is not exist
(#8713)
---
.../org/apache/rocketmq/remoting/netty/NettyRemotingClient.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git
a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java
b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java
index ef9762ddc6..ae82b09eda 100644
---
a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java
+++
b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java
@@ -520,10 +520,11 @@ public class NettyRemotingClient extends
NettyRemotingAbstract implements Remoti
this.namesrvAddrList.set(addrs);
// should close the channel if choosed addr is not exist.
- if (this.namesrvAddrChoosed.get() != null &&
!addrs.contains(this.namesrvAddrChoosed.get())) {
- String namesrvAddr = this.namesrvAddrChoosed.get();
+ String chosenNameServerAddr = this.namesrvAddrChoosed.get();
+ if (chosenNameServerAddr != null &&
!addrs.contains(chosenNameServerAddr)) {
+ namesrvAddrChoosed.compareAndSet(chosenNameServerAddr,
null);
for (String addr : this.channelTables.keySet()) {
- if (addr.contains(namesrvAddr)) {
+ if (addr.contains(chosenNameServerAddr)) {
ChannelWrapper channelWrapper =
this.channelTables.get(addr);
if (channelWrapper != null) {
channelWrapper.close();