X-LightYear opened a new issue, #5114: URL: https://github.com/apache/rocketmq-dashboard/issues/5114
## Problem The `rmq.acl.update` MCP tool rejects Tencent Cloud ACL role names before the request reaches the provider, even though Tencent ACL roles use the role name as their identifier and the REST/service path supports that identifier. ## Reproduction 1. Configure a Tencent RocketMQ instance with ACL management enabled. 2. Discover a Tencent ACL rule whose `id` is null and whose `principal` is a role name, for example `role-orders`. 3. Execute `rmq.acl.update` with `instanceId` set to the Tencent instance, `id` set to `role-orders`, and the updated rule fields. ## Expected behavior The MCP handler should pass the provider-specific identifier to `AclService`, and Tencent should update the role through `TencentAclService.updateRule`. ## Actual behavior `AclUpdateToolHandler.parseId` requires every identifier to parse as a `Long` and returns `ACL_ID_INVALID` (`ACL id must be numeric: role-orders`). The Tencent provider is never reached. ## Root cause `AclService.updateRule` already routes Tencent instances to `TencentAclService.updateRule`, which uses the rule principal as the Tencent role name. The MCP handler performs an unconditional numeric conversion before that provider-aware service path, so REST and MCP expose different provider capabilities. ## Regression evidence A deterministic regression test was added to `AclUpdateToolHandlerTest`: `applyShouldAcceptTencentRoleNameIdentifier` It fails on the current upstream code with `ACL id must be numeric: role-orders` and passes after the minimal handler fix. The related ACL handler, service, controller, Tencent provider, and MCP schema tests pass. ## Related work PR #4574 fixed null-id ACL read outputs and explicitly left `rmq.acl.update` numeric-id handling as a follow-up. This issue covers that separate write-path gap. -- 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]
