zmuxuny opened a new issue, #6034: URL: https://github.com/apache/rocketmq-dashboard/issues/6034
### Before Creating the Bug Report - [x] I have searched the [open issues](https://github.com/apache/rocketmq-dashboard/issues) of this repository and believe that this is not a duplicate. - [x] This is a defect in RocketMQ Studio, not a usage question and not a defect in another Apache RocketMQ repository. - [x] I can reproduce this on the current `master` branch, or I have stated the exact version I am running below. ### Studio Version Historical affected baseline: master@987b748e8f4f421c5cd3c4c4e51a064cc7e59f18. This continuation preserves the dated evidence from #4505; it does not claim a fresh reproduction on today's master. ### Runtime Environment Controlled SDK response fixtures and local tests against pinned alibabacloud-rocketmq20220801:5.0.8. No live HTTP 200 / success=false capture is claimed. ### Connected RocketMQ Cluster Aliyun cloud catalog APIs; synthetic decoded SDK responses, no live cluster used. ### Build Toolchain _No response_ ### Describe the Bug ## Tracking continuation (2026-10-10) This replaces #4505, which was automatically closed by github-actions[bot] for inactivity on 2026-09-25. The issue's technical/design scope is preserved. Its current discussion and related issue/PR searches were rechecked before creating this continuation; no existing replacement issue was found. Existing consolidated fix PR #4504 remains open and ready for review, covering this catalog issue and read-path issue #4500 together. The earlier #4507 was superseded. Explicit Boolean.FALSE maps to 422, omitted flags remain accepted, and a missing envelope maps to 502; the closed mutation proposal #4499 remains out of scope. No live HTTP 200/success=false capture is claimed. The original report below retains its stated baseline and historical verification. It does not claim fresh test results, fully green CI, or new maintainer approval. Discussion and prior evidence remain available in #4505. `AliyunCatalogService` uses the decoded `data` from `ListRegions`, `ListInstances`, and `GetInstance` without checking an explicit `success=false` business result. In controlled SDK response fixtures, an explicit rejection with empty data can become an empty region/instance list or a false instance-not-found result. A null response/body is another ambiguous case. We do **not** have a captured live HTTP 200 / `success=false` response from these cloud APIs. The fixtures demonstrate the code path, not that this response shape has occurred in production. ### Steps to Reproduce Use controlled SDK response fixtures for ListRegions, ListInstances and GetInstance: a present decoded body with success=false and empty data, then null response/body cases. Invoke the affected AliyunCatalogService path. Compare with omitted-success and accepted-empty controls. Existing PR #4504 contains focused regressions. ### What Did You Expect to See? - For a present response body, reject only an explicit `Boolean.FALSE` success flag as a business failure (HTTP 422), preserving the provider's code/message. An omitted `success` flag remains accepted. - Reject a null response or body as a malformed upstream response (HTTP 502). - Keep genuine empty results and a present, accepted `GetInstance` body without data on their existing empty/not-found paths. Keep SDK exception mapping unchanged. ### What Did You See Instead? If a decoded catalog response carries an explicit business rejection, Studio can show an empty or partial inventory, or report that an instance does not exist. A missing response envelope can also be mistaken for a valid empty result. These catalog paths drive credential-backed region selection, instance discovery, and onboarding. ### Additional Context [#4504](https://github.com/apache/rocketmq-dashboard/pull/4504) consolidates this catalog fix with read-path issue #4500 in one shared validator, as requested in maintainer review. The earlier catalog PR #4507 was closed as superseded, not merged. At revision `07f4989`, the combined PR reports 171/171 focused tests passing, Checkstyle 0, and a successful package build; controlled tests cover explicit false, omitted flags, null envelopes, and accepted empty data. These are local fixture/build results, not live cloud-response captures. AI-assisted source audit; response signatures were checked against the pinned `alibabacloud-rocketmq20220801:5.0.8` SDK jar. ### Are You Willing to Submit a Pull Request? - [ ] Yes, I am willing to submit a pull request. -- 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]
