This is an automated email from the ASF dual-hosted git repository.
osgooli 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 ae9f11943 [ISSUE #5916] Fix availableNamesrvAddrMap can not remove old
nameserver address (#5917)
ae9f11943 is described below
commit ae9f119431a2ba369a8361b5f1c49a6dd3824e4c
Author: rongtong <[email protected]>
AuthorDate: Sat Jan 28 08:54:17 2023 +0800
[ISSUE #5916] Fix availableNamesrvAddrMap can not remove old nameserver
address (#5917)
* Fix availableNamesrvAddrMap can not remove old nameserver address
* Fix availableNamesrvAddrMap can not remove old nameserver address
* Pass the code style
---
.../rocketmq/remoting/netty/NettyRemotingClient.java | 15 ++++++++++++---
1 file changed, 12 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 84bf83adc..94acf0288 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
@@ -861,10 +861,17 @@ public class NettyRemotingClient extends
NettyRemotingAbstract implements Remoti
private void scanAvailableNameSrv() {
List<String> nameServerList = this.namesrvAddrList.get();
if (nameServerList == null) {
- LOGGER.debug("scanAvailableNameSrv Addresses of name server is
empty!");
+ LOGGER.debug("scanAvailableNameSrv addresses of name server is
null!");
return;
}
+ for (String address :
NettyRemotingClient.this.availableNamesrvAddrMap.keySet()) {
+ if (!nameServerList.contains(address)) {
+ LOGGER.warn("scanAvailableNameSrv remove invalid address {}",
address);
+
NettyRemotingClient.this.availableNamesrvAddrMap.remove(address);
+ }
+ }
+
for (final String namesrvAddr : nameServerList) {
scanExecutor.execute(new Runnable() {
@Override
@@ -874,7 +881,10 @@ public class NettyRemotingClient extends
NettyRemotingAbstract implements Remoti
if (channel != null) {
NettyRemotingClient.this.availableNamesrvAddrMap.putIfAbsent(namesrvAddr, true);
} else {
-
NettyRemotingClient.this.availableNamesrvAddrMap.remove(namesrvAddr);
+ Boolean value =
NettyRemotingClient.this.availableNamesrvAddrMap.remove(namesrvAddr);
+ if (value != null) {
+ LOGGER.warn("scanAvailableNameSrv remove
unconnected address {}", namesrvAddr);
+ }
}
} catch (Exception e) {
LOGGER.error("scanAvailableNameSrv get channel of {}
failed, ", namesrvAddr, e);
@@ -882,7 +892,6 @@ public class NettyRemotingClient extends
NettyRemotingAbstract implements Remoti
}
});
}
-
}
static class ChannelWrapper {