tju-yxq opened a new pull request, #2579: URL: https://github.com/apache/rocketmq-dashboard/pull/2579
## Summary - add a paginated consumer-group contract to `InstanceProvider` and `MetadataProvider` - implement Apache consumer-group pagination with MyBatis-Plus `selectPage` - apply the same instance / cluster / search filters in SQL - use deterministic `name ASC, id ASC` ordering - enrich live online/lag/delay data only for the returned page items - make `MetadataService.listConsumerGroupsPage(...)` delegate to the provider page method instead of loading and slicing the full list - keep the existing unpaginated `GET /api/groups` contract unchanged - extract shared `RmqGroup -> ConsumerGroupVO` mapping so full-list and paginated reads cannot drift ## Why `GET /api/groups/page` currently calls the full `listConsumerGroups(...)` path, reads every matching `rmq_group` row, performs live enrichment for every group, then slices one page in memory. With thousands of groups, each page request is O(total groups), including admin/API fan-out. Topics already paginate at the database layer; this makes the adjacent consumer-group inventory consistent and bounded by page size. ## Tests - focused: `MetadataServiceTest, RocketMQMetadataProviderTest, ConsumerGroupControllerTest` — 72 tests passed - Checkstyle: 0 violations - `git diff --check`: passed - full backend suite also ran; its only 2 failures are pre-existing in `RocketMQMessageProviderTest` and reproduce on untouched upstream `14da4b95` (verified by stashing this change), so they are unrelated to this PR Closes #2578 -- 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]
