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 959a98120c [ISSUE #7400] Fix getBrokerEpochSubCommand NPE
959a98120c is described below
commit 959a98120cea8022498557a308aff35e3d8def2a
Author: 石臻臻(Steven shi) <[email protected]>
AuthorDate: Wed Sep 27 01:59:58 2023 +0800
[ISSUE #7400] Fix getBrokerEpochSubCommand NPE
Co-authored-by: 石臻臻 <[email protected]>
---
.../apache/rocketmq/broker/processor/AdminBrokerProcessor.java | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git
a/broker/src/main/java/org/apache/rocketmq/broker/processor/AdminBrokerProcessor.java
b/broker/src/main/java/org/apache/rocketmq/broker/processor/AdminBrokerProcessor.java
index 9e48431be2..e77120e154 100644
---
a/broker/src/main/java/org/apache/rocketmq/broker/processor/AdminBrokerProcessor.java
+++
b/broker/src/main/java/org/apache/rocketmq/broker/processor/AdminBrokerProcessor.java
@@ -2736,10 +2736,16 @@ public class AdminBrokerProcessor implements
NettyRequestProcessor {
final ReplicasManager replicasManager =
this.brokerController.getReplicasManager();
assert replicasManager != null;
final BrokerConfig brokerConfig =
this.brokerController.getBrokerConfig();
+ final RemotingCommand response =
RemotingCommand.createResponseCommand(null);
+
+ if (!brokerConfig.isEnableControllerMode()) {
+ response.setCode(ResponseCode.SYSTEM_ERROR);
+ response.setRemark("this request only for controllerMode ");
+ return response;
+ }
final EpochEntryCache entryCache = new
EpochEntryCache(brokerConfig.getBrokerClusterName(),
- brokerConfig.getBrokerName(), brokerConfig.getBrokerId(),
replicasManager.getEpochEntries(),
this.brokerController.getMessageStore().getMaxPhyOffset());
+ brokerConfig.getBrokerName(), brokerConfig.getBrokerId(),
replicasManager.getEpochEntries(),
this.brokerController.getMessageStore().getMaxPhyOffset());
- final RemotingCommand response =
RemotingCommand.createResponseCommand(null);
response.setBody(entryCache.encode());
response.setCode(ResponseCode.SUCCESS);
response.setRemark(null);