yyqdbngt opened a new pull request, #5838: URL: https://github.com/apache/rocketmq-dashboard/pull/5838
## Why `RocketMQLiteTopicProvider.getQuota()` already skips a master entirely when its `GET_BROKER_LITE_INFO` read fails, with an explicit invariant: the usage ratios must be built from a single master set. But when a master's `getBrokerConfig` read fails (the call that supplies `maxLiteSubscriptionCount`), only the **cap** was skipped while that master's `currentLmqNum`/`maxLmqNum`/`liteSubscriptionCount` were still accumulated. The session usage ratio was then built out of two different master sets: sessions from all masters divided by caps from only the reachable ones, reporting session usage above 100% (or a false quota-exceeded) whenever one broker's config read fails. ## What changed - In `getQuota()`, a master whose broker config read fails is now skipped entirely (warn log included), mirroring the existing `info == null` rule one branch above. ## Validation - Red-first test `RocketMQLiteTopicProviderTest#quotaSkipsAMasterWhoseBrokerConfigReadFailsInsteadOfMixingMasterSets`: master A answers both calls, master B answers lite info but throws on broker config; before the fix the quota reported currentTopicCount=8/currentSessionCount=7 against a cap built from master A alone, after the fix the report covers master A only (3/3/40/100000). - Full `RocketMQLiteTopicProviderTest` passes (26 tests, 0 failures): `mvn -q test -Dtest=RocketMQLiteTopicProviderTest` -- 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]
