You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by ji...@apache.org on 2022/07/24 13:14:50 UTC

[rocketmq] branch develop updated: [ISSUE #4682] Fix potential NPE when enableActingMaster is null (#4683)

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

jinrongtong 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 a6ca01a0f [ISSUE #4682] Fix potential NPE when enableActingMaster is null (#4683)
a6ca01a0f is described below

commit a6ca01a0f682e0594c7117469f5a9317c3e35d90
Author: Oliver <wq...@163.com>
AuthorDate: Sun Jul 24 21:14:45 2022 +0800

    [ISSUE #4682] Fix potential NPE when enableActingMaster is null (#4683)
---
 .../java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManager.java | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/namesrv/src/main/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManager.java b/namesrv/src/main/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManager.java
index 27af89be1..6f9cac4da 100644
--- a/namesrv/src/main/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManager.java
+++ b/namesrv/src/main/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManager.java
@@ -32,6 +32,7 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.rocketmq.common.BrokerAddrInfo;
 import org.apache.rocketmq.common.DataVersion;
 import org.apache.rocketmq.common.MixAll;
@@ -248,7 +249,7 @@ public class RouteInfoManager {
                 }
 
                 boolean isOldVersionBroker = enableActingMaster == null;
-                brokerData.setEnableActingMaster(!isOldVersionBroker && enableActingMaster);
+                brokerData.setEnableActingMaster(isOldVersionBroker ? false : enableActingMaster);
 
                 Map<Long, String> brokerAddrsMap = brokerData.getBrokerAddrs();
 
@@ -286,7 +287,7 @@ public class RouteInfoManager {
                 }
 
                 String oldAddr = brokerAddrsMap.put(brokerId, brokerAddr);
-                registerFirst = registerFirst || (null == oldAddr);
+                registerFirst = registerFirst || (StringUtils.isEmpty(oldAddr));
 
                 boolean isMaster = MixAll.MASTER_ID == brokerId;
                 boolean isPrimeSlave = !isOldVersionBroker && !isMaster