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 a0cb9d42e3 [ISSUE #7777] Optimize the logic of 
DefaultRequestProcessor#getTopicsByCluster to avoid unnecessary deserialization 
(#7778)
a0cb9d42e3 is described below

commit a0cb9d42e3bc78fb9d931aed370a738cb17d992f
Author: mxsm <ljbm...@gmail.com>
AuthorDate: Mon Jan 29 08:34:29 2024 +0800

    [ISSUE #7777] Optimize the logic of 
DefaultRequestProcessor#getTopicsByCluster to avoid unnecessary deserialization 
(#7778)
---
 .../namesrv/processor/DefaultRequestProcessor.java | 25 +++++++++++-----------
 1 file changed, 12 insertions(+), 13 deletions(-)

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 2daa95b9bc..deb51e4fc1 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
@@ -366,7 +366,7 @@ public class DefaultRequestProcessor implements 
NettyRequestProcessor {
     }
 
     public RemotingCommand unregisterBroker(ChannelHandlerContext ctx,
-            RemotingCommand request) throws RemotingCommandException {
+        RemotingCommand request) throws RemotingCommandException {
         final RemotingCommand response = 
RemotingCommand.createResponseCommand(null);
         final UnRegisterBrokerRequestHeader requestHeader = 
(UnRegisterBrokerRequestHeader) 
request.decodeCommandCustomHeader(UnRegisterBrokerRequestHeader.class);
 
@@ -387,7 +387,6 @@ public class DefaultRequestProcessor implements 
NettyRequestProcessor {
         final BrokerHeartbeatRequestHeader requestHeader =
             (BrokerHeartbeatRequestHeader) 
request.decodeCommandCustomHeader(BrokerHeartbeatRequestHeader.class);
 
-
         
this.namesrvController.getRouteInfoManager().updateBrokerInfoUpdateTimestamp(requestHeader.getClusterName(),
 requestHeader.getBrokerAddr());
 
         response.setCode(ResponseCode.SUCCESS);
@@ -522,21 +521,21 @@ public class DefaultRequestProcessor implements 
NettyRequestProcessor {
     private RemotingCommand getTopicsByCluster(ChannelHandlerContext ctx,
         RemotingCommand request) throws RemotingCommandException {
         final RemotingCommand response = 
RemotingCommand.createResponseCommand(null);
-        final GetTopicsByClusterRequestHeader requestHeader =
-            (GetTopicsByClusterRequestHeader) 
request.decodeCommandCustomHeader(GetTopicsByClusterRequestHeader.class);
-
         boolean enableTopicList = 
namesrvController.getNamesrvConfig().isEnableTopicList();
-        if (enableTopicList) {
-            TopicList topicsByCluster = 
this.namesrvController.getRouteInfoManager().getTopicsByCluster(requestHeader.getCluster());
-            byte[] body = topicsByCluster.encode();
-
-            response.setBody(body);
-            response.setCode(ResponseCode.SUCCESS);
-            response.setRemark(null);
-        } else {
+        if (!enableTopicList) {
             response.setCode(ResponseCode.SYSTEM_ERROR);
             response.setRemark("disable");
+            return response;
         }
+        final GetTopicsByClusterRequestHeader requestHeader =
+            (GetTopicsByClusterRequestHeader) 
request.decodeCommandCustomHeader(GetTopicsByClusterRequestHeader.class);
+
+        TopicList topicsByCluster = 
this.namesrvController.getRouteInfoManager().getTopicsByCluster(requestHeader.getCluster());
+        byte[] body = topicsByCluster.encode();
+
+        response.setBody(body);
+        response.setCode(ResponseCode.SUCCESS);
+        response.setRemark(null);
 
         return response;
     }

Reply via email to