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]

Reply via email to