zmuxuny opened a new issue, #4505: URL: https://github.com/apache/rocketmq-dashboard/issues/4505
### Before Creating the Bug Report - [x] I searched open/closed issues and pull requests for Aliyun catalog response handling, `ListRegions`, `ListInstances`, and `GetInstance`. - [x] I verified the behavior on current `master` (`987b748e8f4f421c5cd3c4c4e51a064cc7e59f18`). ### Problem `AliyunCatalogService` treats any normally completed SDK future as a successful cloud-catalog read and only inspects `data`. The pinned Aliyun RocketMQ 5.x SDK response bodies for `ListRegions`, `ListInstances`, and `GetInstance` all expose business-level `success`, `code`, and `message` fields. When those APIs return a decoded body with `success=false`, current behavior converts the provider failure into misleading catalog state: - `ListRegions`: returns an empty region list; - `ListInstances`: stops pagination and returns an empty/partial instance list; - `GetInstance`: turns the provider failure into `404 Aliyun instance not found`. ### Impact These paths drive credential-backed region selection, cloud-instance discovery, and instance onboarding. Permission, throttling, account, or provider-side business failures can therefore look like "no regions", "no instances", or "instance does not exist", sending operators toward the wrong diagnosis. ### Expected behavior A decoded catalog response body with `success != true` fails closed with a 502-style `BusinessException`, retaining the provider `message`/`code` when available. A genuine successful response with empty/null data keeps the existing empty/not-found semantics. SDK exceptional completions remain mapped by `AliyunClientFactory`. ### Verification plan Add deterministic service tests for `ListRegions`, `ListInstances`, and `GetInstance` that return normally completed SDK responses with `success=false` and prove current code returns empty/not-found results. Then make those same responses fail closed while retaining the existing successful-empty and identifier-normalization behavior. This complements #4498/#4499 (Aliyun mutations) and #4500/#4504 (runtime provider reads); it covers the separate cloud-catalog/onboarding surface. AI-assisted source audit; the response contracts were verified against the pinned `alibabacloud-rocketmq20220801:5.0.8` jar. -- 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]
