lizhimins commented on issue #3359: URL: https://github.com/apache/rocketmq-dashboard/issues/3359#issuecomment-5581358816
Resolved by #3346, merged into `rocketmq-studio` as c86831cc. Both lookup paths now grade the failure by response code instead of surfacing a 502: - `RocketMQMetadataProvider` route lookup (`:449`) returns an empty route list when the admin call fails with `ResponseCode.TOPIC_NOT_EXIST`. - The topic consumer page lookup (`:582`) returns an empty `TopicConsumerPageVO` (no items, total 0, requested page/pageSize echoed back) on the same code. Both go through the shared `common/util/MqResponseCodes.hasResponseCode(Throwable, int...)` classifier, which recognises the code on both `MQClientException` and `MQBrokerException`, so there is no error-message string matching anywhere in the path. That matches this project's rule for admin query errors: a missing route is an RPC that succeeded with an empty business state (a metadata record created before the topic was synced to any broker), so it belongs in the 200-plus-empty-data category rather than the RPC-failure category. Genuine RPC failures (connect errors, timeouts, unreachable brokers) still throw 502 as before. This also fixes the downstream consequence on the topic page: `topic.tsx` swallowed the 502 into `routes: null` and then filtered those rows out, so route-less topics never appeared in the `syncMissing` set. With an empty list returned instead, they now do. Because this repository squash-merges against `rocketmq-studio` rather than the default branch, GitHub does not auto-close issues referenced in a PR body; closing manually. -- 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]
