RockteMQ-AI commented on issue #11043:
URL: https://github.com/apache/rocketmq/issues/11043#issuecomment-5552035714

   **Issue Evaluation**
   
   Category: `bug` | Status: **Confirmed**
   
   The race condition in `BatchUnregistrationService` / `RouteInfoManager` is 
verified against the current codebase (develop@ff8f6f74c):
   
   - `setupUnRegisterRequest` (RouteInfoManager.java:876) matches only by 
`clusterName + brokerAddr`
   - `unRegisterBroker` removes `brokerLiveTable` (line 585) without a 
freshness re-check
   - Address-based `removeIf` ignores `brokerId`, so a slave unregister can 
wipe a master re-registered at the same address
   
   The decision-to-execution gap via the async queue means a live broker that 
re-registers between expiry decision and queued execution will have its fresh 
state deleted, causing cluster-wide route loss until the next periodic 
registration (~30s).
   
   **Severity:** High — produces TOPIC_NOT_EXIST / no-route windows across the 
cluster
   **Impact:** NameServer routing tables, all producers/consumers dependent on 
affected broker
   
   Fix PR #11044 addresses the root cause correctly.
   
   ---
   *Automated evaluation by github-manager*


-- 
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