youngkermit8-coder opened a new issue, #1754:
URL: https://github.com/apache/rocketmq-dashboard/issues/1754

   ### What happened?
   
   The AdminClient cache is isolated by both normalized NameServer address and 
credential reference, but updating one Apache instance's `adminCredentialRef` 
calls `MqAdminExtFactory.release(namesrvAddr)`. That method intentionally shuts 
down every cached credential identity for the endpoint.
   
   When multiple instances share a NameServer endpoint with different 
credentials, changing one instance therefore closes the AdminClient used by the 
others. A concurrent request can be interrupted, and subsequent requests must 
reconnect even though their configuration did not change.
   
   ### How to reproduce
   
   1. Cache an AdminClient for `credential-a` at an endpoint.
   2. Cache another AdminClient for `credential-b` at the same endpoint.
   3. Follow the credential-change path and release the endpoint.
   4. Execute again with `credential-b`.
   
   On the current `rocketmq-studio` branch, a focused `MqAdminExtFactoryTest` 
observes three client creations instead of two because the unrelated 
`credential-b` entry was evicted.
   
   ### Expected behavior
   
   Changing an instance's credential reference should release only the cache 
entry identified by the endpoint and the old credential reference. Endpoint 
removal or replacement can continue to release all identities once no 
configured instance uses that endpoint.
   
   ### Duplicate check
   
   I searched open and closed issues and pull requests for `admin credential 
release`, `credential reference cache`, and `MqAdminExtFactory release 
credential`; I did not find an existing report or contribution covering 
credential-scoped eviction.
   


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