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