zmuxuny opened a new pull request, #4533:
URL: https://github.com/apache/rocketmq-dashboard/pull/4533

   ### Which Issue(s) This PR Fixes
   
   - Fixes #4532
   
   ### Brief Description
   
   Tencent ACL role discovery duplicated the same pagination rule in 
`listUsers`, `listRules`, and `findRole`: any empty or short `DescribeRoleList` 
page was treated as the end of the catalog before checking whether `TotalCount` 
said more roles remained.
   
   That can silently truncate ACL inventory. It also affects control-plane 
updates: `updateUser` uses `findRole` to preserve omitted permission fields, so 
an incomplete page can turn a provider-data failure into a false `404 ACL user 
not found`.
   
   This change adds one shared role-page completeness guard. Known non-negative 
totals that contradict the current page now fail closed with 502; 
missing/negative totals keep the previous short-page fallback behavior.
   ### Red / Green Verification
   
   Baseline: `master@d50ffecc9d7e8f8f46da64198831bd7952e6974e`.
   
   Fail-before, Java 21:
   - `TencentAclServiceTest`: **15 tests, exactly 3 failures**.
   - `listUsers` and `listRules` returned partial inventories successfully 
instead of failing closed.
   - `updateUser` reported **404** for a role that could still exist on the 
missing page; the regression requires 502.
   
   Green, Java 21:
   - `TencentAclServiceTest`: **15/15 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. Genuine empty/final pages 
remain valid. When Tencent omits `TotalCount` or returns a negative/unknown 
total, Studio keeps the existing short-page termination behavior.
   
   ACL mutation payloads and permission mapping are unchanged; the patch only 
prevents contradictory provider pagination from being misreported as 
complete/not-found.
   
   AI-assisted source audit, implementation and regression authoring; 
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