leizhiyuan opened a new issue, #7870:
URL: https://github.com/apache/rocketmq/issues/7870
### Before Creating the Enhancement Request
- [X] I have confirmed that this should be classified as an enhancement
rather than a bug/feature.
### Summary
The broker links multiple nameserver addresses, where only one address is
unavailable. When the consumer connects for the first time, the heartbeat
triggers the creation of a retry topic and the method
createTopicInSendMessageBackMethod. This causes a timeout in the heartbeat
handling.
When a timeout occurs, the client will disconnect and reconnect. At this
point, there will be two consumer connections on the server, giving the
impression of two consumer IDs. This triggers a meaningless rebalancing,
resulting in initial consumption delay.
### Motivation
org.apache.rocketmq.broker.processor.ClientManageProcessor#heartBeat
```
this.brokerController.getTopicConfigManager().createTopicInSendMessageBackMethod(
newTopic,
subscriptionGroupConfig.getRetryQueueNums(),
PermName.PERM_WRITE | PermName.PERM_READ, topicSysFlag);
```
###
### Describe the Solution You'd Like
this invoke maybe can be async in
org.apache.rocketmq.broker.processor.ClientManageProcessor#heartBeat
### Describe Alternatives You've Considered
modify the brokeroutapi timeout, but it is not simple
### Additional Context
_No response_
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]