diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/service/route/TopicRouteWrapper.java b/proxy/src/main/java/org/apache/rocketmq/proxy/service/route/TopicRouteWrapper.java index 7956c6284ea..0bdf6cdaae4 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/service/route/TopicRouteWrapper.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/service/route/TopicRouteWrapper.java @@ -43,11 +43,19 @@ public TopicRouteWrapper(TopicRouteData topicRouteData, String topicName) { } public String getMasterAddr(String brokerName) { - return this.brokerNameRouteData.get(brokerName).getBrokerAddrs().get(MixAll.MASTER_ID); + BrokerData brokerData = this.brokerNameRouteData.get(brokerName); + if (brokerData == null) { + return null; + } + return brokerData.getBrokerAddrs().get(MixAll.MASTER_ID); } public String getMasterAddrPrefer(String brokerName) { - HashMap brokerAddr = brokerNameRouteData.get(brokerName).getBrokerAddrs(); + BrokerData brokerData = brokerNameRouteData.get(brokerName); + if (brokerData == null) { + return null; + } + HashMap brokerAddr = brokerData.getBrokerAddrs(); String addr = brokerAddr.get(MixAll.MASTER_ID); if (addr == null) { Optional optional = brokerAddr.keySet().stream().findFirst();