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]
