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]

Reply via email to