zmuxuny opened a new issue, #6032: URL: https://github.com/apache/rocketmq-dashboard/issues/6032
### 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 #4513; it does not claim a fresh reproduction on today's master. ### Runtime Environment Controlled SDK response fixtures and local tests; no live cloud capture is claimed. See linked PR #4514 for the existing test/build evidence. ### Connected RocketMQ Cluster Tencent cloud provider message-query path; synthetic DescribeMessageList responses, no live cluster used. ### Build Toolchain _No response_ ### Describe the Bug ## Tracking continuation (2026-10-10) This replaces #4513, 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 fix PR #4514 remains open and ready for review. The revised scope uses resultMayBeTruncated with retained rows for contradictory cloud message pages, following the maintainer's requested direction. It does not introduce a 502 for this condition. Controlled fixtures are the evidence; no live cloud 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 #4513. `TencentInstanceProvider.queryMessagesDetailed` can stop at a short or empty `DescribeMessageList` page and return `MessageQueryResult.complete(...)` even when the response's known `TotalCount` says more rows remain. A controlled response with `TotalCount > collected` and an empty page makes Studio report a complete empty or partial result. The code path is demonstrated with response fixtures; no live provider response for this contradiction has been captured. ### Steps to Reproduce Using controlled DescribeMessageList response fixtures, return a short or empty page while known TotalCount remains greater than collected rows. Exercise TencentInstanceProvider.queryMessagesDetailed. Initial and later pages and retained rows are covered by the linked tests in #4514. ### What Did You Expect to See? - When a known total contradicts a short/empty page, preserve already collected messages and return an incomplete result with `resultMayBeTruncated=true` through the existing `MessageQueryResult.truncated(...)` channel. Do not turn a successful query response into HTTP 502 for this condition. - Preserve genuine empty results, TaskRequestId/offset progression, existing result budgets, and the fallback when the provider does not report a usable total. - Keep transport/RPC error handling unchanged. ### What Did You See Instead? A caller can receive `resultMayBeTruncated=false` despite a reported remaining total. In the message page or MCP output, that makes a partial diagnostic query look conclusive. ### Additional Context [#4514](https://github.com/apache/rocketmq-dashboard/pull/4514) implements this Tencent behavior and applies the same known-total completeness check to Aliyun message queries. At revision `858fe917`, controlled tests cover initial and later incomplete pages, retained rows, task progression, and local tag filtering. The PR reports 138/138 focused tests passing, Checkstyle 0, and a successful package build. Those are local fixture/build results, not live provider captures. Apache's queue-offset scan has a different contract and remains outside this PR's production changes. Related #3047/#3048 addressed Studio's own page/result budget; this issue concerns a provider page that contradicts its reported total. AI-assisted source audit; Tencent's API documentation was checked before filing. ### 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]
