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

   ## Summary
   - Make `MqAdminExtFactory.execute(namesrvAddr, rpcHook, action)` reject a 
non-null `RPCHook` instead of silently deriving the cache identity from 
`System.identityHashCode(rpcHook)`
   - Callers holding a hook must use the identity-qualified overload with a 
stable, non-secret credential identity
   - Update the pinned legacy-hook test to assert the new contract
   
   ## Why
   The hook-instance identity hash is stable per object but not per credential: 
any caller that builds a fresh hook per request (the natural pattern — 
`RuntimeAdminClientResolver.resolveCredential` already constructs a new 
`AclClientRPCHook` per call) mints a distinct cache identity per request, so 
the factory creates one admin client per request and `release()` can never 
evict them (it only knows endpoint and credential-ref keys). All current 
production callers pass a `null` hook, so the trap is latent — this PR turns it 
into a loud 400 before it becomes unbounded growth.
   
   ## Testing
   - `mvn -Dtest=MqAdminExtFactoryTest test` → Tests run: 13, Failures: 0, 
Errors: 0 (12 existing, 1 updated to the new contract)
   


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