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]

Reply via email to