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 <[email protected]>
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();

Reply via email to