tju-yxq opened a new pull request, #3048: URL: https://github.com/apache/rocketmq-dashboard/pull/3048
## What is the purpose of the change Tencent message queries page `DescribeMessageList` up to 100 pages of 100 rows, but the list-based provider API cannot say whether the query was exhausted or stopped at a provider cap. A large query could therefore return a partial result that looked complete, while retaining up to 10,000 rows in memory before `MessageService` sliced a small page. ## What changed - add `MessageQueryResult` as the bounded provider query outcome with an explicit `mayBeTruncated` signal - add `queryMessagesDetailed` default methods to `InstanceProvider` and `MessageProvider`; existing providers continue through their current list-based implementation - implement the detailed query in the Tencent provider with a 2,000-record budget, matching the Apache provider hard cap - stop Tencent paging at the budget and mark the result as possibly truncated; short pages and satisfied `TotalCount` remain complete results - preserve task-request-id continuation across pages - route `MessageService` through the detailed result and propagate provider truncation into `MessageQueryPageVO.resultMayBeTruncated`; the existing 200-row generic topic threshold remains an additional signal - add regression tests for the budget, complete short-page results, provider truncation below the generic threshold, and truncation on key queries ## Verification - before the fix, the new detailed-query regression could not compile because the provider had no truncation outcome; the current list path also returned 2,000 rows without any signal when Tencent reported a larger total - focused tests: `TencentInstanceProviderTest,MessageServiceTest,MessageControllerTest,MessageQueryToolHandlerTest` (69 tests) passed - Checkstyle: 0 violations - full server suite: `mvn -DskipTests=false test` (1,964 tests, 0 failures, 0 errors) Closes #3047 -- 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]
