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]