Wang1rrr opened a new issue, #6968: URL: https://github.com/apache/rocketmq-dashboard/issues/6968
### Description `AgentCapabilityProbe.binaries()` caches a completed probe round for 60 seconds, but the cache lookup and refresh are not coordinated. Concurrent requests against a cold or expired cache each launch their own three CLI lookups. The `AtomicReference` only makes publication atomic, so a burst of page loads can still multiply subprocess creation and occupy request workers. ### Reproduction Hold the first `CliBinaryProbe.isAvailable` call open with a latch, then issue a second `binaries()` call before releasing it. Both requests enter the binary probe before either has populated the cache. The same race recurs when the TTL expires. ### Expected behavior Only one caller refreshes a probe round; concurrent callers reuse that result. The existing TTL and availability flags remain unchanged. ### Version `rocketmq-studio` at c34535db0819d02f68e50a856cb3d2614f0dc5dd. The existing #5671 adds sequential cache/flag tests and does not change this concurrent refresh behavior. I plan a focused concurrency fix and a separate regression test class to avoid conflicting with that test addition. -- 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]
