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 26fa050148 [ISSUE #7501] The broker supports idempotence in creating
topics (#7502)
26fa050148 is described below
commit 26fa0501482bbf31c2a64a33f329ab9744ac3800
Author: fuyou001 <[email protected]>
AuthorDate: Fri Oct 27 16:28:17 2023 +0800
[ISSUE #7501] The broker supports idempotence in creating topics (#7502)
---
.../org/apache/rocketmq/broker/processor/AdminBrokerProcessor.java | 7 +++++++
1 file changed, 7 insertions(+)
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 004bf12acd..fbba6633b6 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
@@ -440,6 +440,13 @@ public class AdminBrokerProcessor implements
NettyRequestProcessor {
return response;
}
+ if
(topicConfig.equals(this.brokerController.getTopicConfigManager().getTopicConfigTable().get(topic)))
{
+ LOGGER.info("Broker receive request to update or create topic={},
but topicConfig has no changes , so idempotent, caller address={}",
+ requestHeader.getTopic(),
RemotingHelper.parseChannelRemoteAddr(ctx.channel()));
+ response.setCode(ResponseCode.SUCCESS);
+ return response;
+ }
+
try {
this.brokerController.getTopicConfigManager().updateTopicConfig(topicConfig);
if
(brokerController.getBrokerConfig().isEnableSingleTopicRegister()) {