You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by "zmuxuny (via GitHub)" <gi...@apache.org> on 2026/09/17 15:27:42 UTC
[PR] fix(tencent): reject incomplete ACL role pages [rocketmq-dashboard]
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: commits-unsubscribe@rocketmq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] fix(tencent): reject incomplete ACL role pages [rocketmq-dashboard]
Posted by "lizhimins (via GitHub)" <gi...@apache.org>.
lizhimins merged PR #4533:
URL: https://github.com/apache/rocketmq-dashboard/pull/4533
--
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: commits-unsubscribe@rocketmq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org