lizhimins commented on PR #5319:
URL: 
https://github.com/apache/rocketmq-dashboard/pull/5319#issuecomment-6075925547

   The fix is correct and we verified it end to end: 
`ConcurrentHashMap.computeIfAbsent` only locks the bin for the key, so 
`entrySet().removeIf` in `invalidateCredential` 
(`AliyunClientFactory.java:70-79`) never sees an entry whose creation is still 
in flight, and the client built from the pre-rotation secret is published after 
the eviction returns. Coordinating both on the factory monitor is also exactly 
what `TencentClientFactory.java:49-60` already does, so this aligns the two 
vendors.
     We are closing it as a duplicate of #5252, which makes the 
character-identical change to the same two methods and was opened 12.2 hours 
earlier; #5252 is itself a re-submission of #5052 and its regression test 
additionally asserts the invalidator is blocked on the monitor.
     Two notes if you keep working in this area: your description says `Fixes 
#5049`, but #5049 was closed by the stale workflow on 2026-10-04 and re-filed 
as #5551; and `invalidationFinished.await(500, MILLISECONDS)` discards its 
result, so the test asserts the end state but not that the invalidation was 
still pending when creation was released.


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