zmuxuny opened a new pull request, #4531: URL: https://github.com/apache/rocketmq-dashboard/pull/4531
### Which Issue(s) This PR Fixes - Fixes #4530 ### Brief Description Tencent RocketMQ 5.x resource listings used `Data == null/empty` or a short page as an unconditional end-of-list signal before reconciling it with the provider's `TotalCount`. The same pagination pattern affected Topic inventory, Consumer Group inventory, and Consumer Group subscription/progress reads. When `TotalCount` says more rows exist, accepting a short or empty page silently returns an incomplete resource view as if it were complete. This change centralizes the completeness check for those three paths. A known non-negative `TotalCount` that contradicts the current page now fails closed with a 502-style `BusinessException`; missing/negative totals retain the previous short-page fallback behavior. ### Red / Green Verification Baseline: `master@d50ffecc9d7e8f8f46da64198831bd7952e6974e`. Fail-before, Java 21: - Added one contradictory short-page regression for each affected path. - `TencentInstanceProviderTest`: **47 tests, exactly 3 failures**. - Topic, Consumer Group, and Group Subscription regressions each failed with `Expecting code to raise a throwable`, proving current master returned partial results successfully. Green, Java 21: - `TencentInstanceProviderTest`: **47/47 passed**, 0 failures/errors. - Checkstyle: **0 violations**. - `mvn -B -ntp -DskipTests package`: **BUILD SUCCESS**. - `git diff --check`: clean. ### Compatibility / Risk No API, schema, dependency, or frontend changes. Normal full pages, successful final pages, and existing provider-side filtering are unchanged. When Tencent omits `TotalCount` or returns a negative/unknown total, Studio still uses the previous short-page termination rule. Only responses that contradict their own known total now surface as unavailable instead of silently truncating operational data. AI-assisted source audit, implementation and regression authoring; the fail-before and green verification were executed locally against the stated baseline. -- 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]
