zmuxuny opened a new issue, #4513: URL: https://github.com/apache/rocketmq-dashboard/issues/4513
### Before Creating the Bug Report - [x] I searched open/closed issues and PRs for Tencent `DescribeMessageList`, null `Data`, incomplete pages, and `TotalCount` handling. - [x] I verified the behavior on current `master` (`987b748e8f4f421c5cd3c4c4e51a064cc7e59f18`). ### Problem Tencent `DescribeMessageList` exposes both `TotalCount` and a nullable `Data` array. Tencent documents `Data` as possibly null when no valid value can be obtained. Studio currently treats `Data == null` as a zero-length short page and immediately returns a **complete** empty query result. When the provider simultaneously reports `TotalCount > collected` but `Data` is null/empty, those signals contradict each other: the provider says matching messages remain, but Studio declares the result exhausted. ### Impact An operator can receive `0 messages` / `resultMayBeTruncated=false` even though Tencent reports matching rows. This is a message-diagnostic data-integrity problem: incident triage can incorrectly conclude that no message matched the requested topic/key/tag/time window. ### Expected behavior - If `TotalCount > collected` but the current page has no valid `Data`, fail closed instead of returning a confirmed complete result. - Preserve a genuine empty result when `TotalCount` is zero/absent and the provider returns no rows. - Preserve #3048's existing bounded-query/truncation semantics and task-request-id continuation. ### Verification plan Add a deterministic provider regression with `TotalCount=1` and `Data=null` proving current code returns `MessageQueryResult.complete(empty)`. Fix only this contradictory/incomplete response; retain existing empty-page, hard-budget and TaskRequestId tests. Related #3047/#3048 fixed silent truncation when Studio reaches its own page/result budget; this issue covers a different provider response where an individual page is incomplete while `TotalCount` says data remains. AI-assisted source audit; Tencent's current API documentation was checked before filing. -- 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]
