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/30 10:54:53 UTC

[rocketmq] branch develop updated: [ISSUE #4726] Return error when unregisterBroker is failed

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 975c232f3 [ISSUE #4726] Return error when unregisterBroker is failed
975c232f3 is described below

commit 975c232f3e5fc0b7f44ff5812af041360aa23421
Author: Oliver <wq...@163.com>
AuthorDate: Sat Jul 30 18:54:48 2022 +0800

    [ISSUE #4726] Return error when unregisterBroker is failed
---
 .../src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java | 5 ++++-
 .../apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java   | 4 +++-
 .../java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManager.java | 1 -
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java b/broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java
index 2000ddb39..38cf16ee2 100644
--- a/broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java
+++ b/broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java
@@ -531,7 +531,7 @@ public class BrokerOuterAPI {
                     this.unregisterBroker(namesrvAddr, clusterName, brokerAddr, brokerName, brokerId);
                     LOGGER.info("unregisterBroker OK, NamesrvAddr: {}", namesrvAddr);
                 } catch (Exception e) {
-                    LOGGER.warn("unregisterBroker Exception, {}", namesrvAddr, e);
+                    LOGGER.warn("unregisterBroker Exception, NamesrvAddr: {}", namesrvAddr, e);
                 }
             }
         }
@@ -557,6 +557,9 @@ public class BrokerOuterAPI {
             case ResponseCode.SUCCESS: {
                 return;
             }
+            case ResponseCode.SYSTEM_ERROR: {
+                throw new MQBrokerException(response.getCode(), response.getRemark(), brokerAddr);
+            }
             default:
                 break;
         }
diff --git a/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java b/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java
index 09069eaf8..676717689 100644
--- a/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java
+++ b/namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java
@@ -349,8 +349,10 @@ public class DefaultRequestProcessor implements NettyRequestProcessor {
 
         if (!this.namesrvController.getRouteInfoManager().submitUnRegisterBrokerRequest(requestHeader)) {
             log.warn("Couldn't submit the unregister broker request to handler, broker info: {}", requestHeader);
+            response.setCode(ResponseCode.SYSTEM_ERROR);
+            response.setRemark(null);
+            return response;
         }
-
         response.setCode(ResponseCode.SUCCESS);
         response.setRemark(null);
         return response;
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 7a3bf1844..91f14a372 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
@@ -489,7 +489,6 @@ public class RouteInfoManager {
     }
 
     private int operateWritePermOfBroker(final String brokerName, final int requestCode) {
-        Set<String> changedTopics = new HashSet<>();
         int topicCnt = 0;
 
         Iterator<Entry<String, Map<String, QueueData>>> itTopic = this.topicQueueTable.entrySet().iterator();