X-LightYear opened a new issue, #7224: URL: https://github.com/apache/rocketmq-dashboard/issues/7224
## Problem `rmq.user.list` currently calls the unpaged ACL user listing path and returns the complete user inventory in one MCP response. The same ACL service already provides a bounded `pageUsers` contract used by REST. In addition, the MCP catalog requires `clusters` to be an array even though global ACL users legally have no cluster bindings and are serialized with `clusters: null`. ## Reproduction 1. Configure an Apache ACL user without cluster bindings. 2. Invoke `rmq.user.list` for the instance. 3. With enough ACL users, the tool also has no page or search controls and returns the whole inventory. 4. Validate the serialized result against the `rmq.user.list` catalog schema. ## Expected behavior The MCP tool should use the existing bounded ACL user page service, expose optional literal keyword and page controls, preserve page metadata, and accept legal global users without cluster bindings. ## Actual behavior The handler calls `AclService.listUsers`, so the MCP response is unbounded and has no total/page metadata. A global user with `clusters: null` violates the catalog output schema. ## Root cause `UserListToolHandler` was wired to the legacy full-list method and `user.yaml` modeled `clusters` as a non-null array although `AclUserItem` preserves the nullable domain value. ## Testing - deterministic pre-fix handler test: expected `pageUsers(instance-a, 1, 20, null)`, but production invoked `listUsers(instance-a)` - deterministic pre-fix schema test: global user failed validation because `clusters` was null - post-fix ACL/MCP tests: 129 passed - MCP discovery, execution, binding, routing and registration tests: 30 passed - checkstyle: 0 violations - package compile/repackage passed; the existing Windows environment lacks `python3` for the repository binary-license gate (exit 9009) -- 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]
