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]
