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]

Reply via email to