zmuxuny opened a new issue, #4539:
URL: https://github.com/apache/rocketmq-dashboard/issues/4539

   ### Before Creating the Bug Report
   
   - [x] I searched open/closed issues and PRs for Tencent ACL role pagination, 
`DescribeRoleList`, `TotalCount`, incomplete pages, and false not-found results.
   - [x] I reproduced the behavior on current `master` 
(`d50ffecc9d7e8f8f46da64198831bd7952e6974e`).
   
   ### Problem
   
   Tencent ACL role discovery treats any empty or short `DescribeRoleList` page 
as the end of the role catalog before reconciling it with `TotalCount`.
   
   The duplicated pagination loop is used by `listUsers`, `listRules`, and 
`findRole`. If Tencent reports a known total that says more roles remain but 
the current page is short/empty, Studio silently accepts an incomplete ACL 
inventory.
   ### Impact
   
   ACL user/rule pages can omit real roles while looking complete. More 
importantly, `updateUser` calls `findRole` when permissions are omitted so it 
can preserve existing values; an incomplete page can therefore turn a 
provider-data failure into `404 ACL user not found`, blocking a valid 
permission update and sending the operator toward the wrong diagnosis.
   
   ### Expected Behavior
   
   - When a non-negative `TotalCount` proves roles remain but the current page 
is short or empty, fail closed with a 502-style `BusinessException`.
   - Preserve genuine empty/final pages.
   - Preserve the current short-page fallback when `TotalCount` is missing or 
negative/unknown.
   - Do not change Tencent ACL mutation payloads or permissions.
   ### Red Reproduction
   
   On unmodified master, three focused regressions use `TotalCount=2` with one 
returned role:
   - `listUsers` is required to fail closed, but returns one user;
   - `listRules` is required to fail closed, but returns one rule;
   - `updateUser` searches for a role that could still be on the missing page 
and currently returns 404 instead of 502.
   
   `TencentAclServiceTest`: **15 tests, exactly 3 failures**; the other 12 
tests remain green. Checkstyle reports 0 violations.
   
   AI-assisted source audit and regression authoring; fail-before was executed 
locally with Java 21.


-- 
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