X-LightYear opened a new pull request, #5129:
URL: https://github.com/apache/rocketmq-dashboard/pull/5129

   ## Summary
   
   - invalidate cached Proxy addresses after Apache instance endpoint or 
credential lifecycle changes
   - reject in-flight discovery results from an older cache generation
   - add deterministic endpoint-change and concurrent-invalidation regression 
coverage
   
   ## Problem
   
   Consumer diagnostics can reuse Proxy addresses discovered from an Apache 
instance before its endpoint or client identity changes. During the cache TTL, 
diagnostics may therefore query the old cluster until the entry expires.
   
   ## Root cause
   
   ProxyConsumerResolver cached discovered Proxy addresses by instance ID, but 
InstanceService did not invalidate that cache when releasing the old Apache 
client after an endpoint or credential change. A lookup already in flight could 
also repopulate the cache after invalidation.
   
   ## Fix
   
   Instance lifecycle cleanup now invalidates the corresponding Proxy address 
entry. A shared cache generation prevents an in-flight lookup from an older 
lifecycle state from becoming valid again after invalidation.
   
   ## Testing
   
   - pre-fix deterministic probe: after switching the active endpoint, the old 
cached address remained (`10.0.1.10:8080` instead of `10.0.2.20:8080`)
   - focused provider, instance lifecycle, and diagnostics regression suite: 
191 tests passed
   - Checkstyle: 0 violations
   - package build with the repository binary-license gate skipped: passed
   - the default binary-license gate could not start because `python3` is 
unavailable in the environment (Windows error 9009)
   
   Fixes #5128


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