The GitHub Actions job "CI" on rocketmq-dashboard.git/rocketmq-studio has 
failed.
Run started by GitHub user lizhimins (triggered by lizhimins).

Head commit for run:
c99b9ad50b79467546997e51f3401d57ceebea5f / zmuxuny <[email protected]>
fix(aliyun): prevent stale clients after credential rotation (#5252)

Rotating an Aliyun credential evicts the cached OpenAPI clients, but 
`invalidateCredential` could
finish while a cache miss was still building a client from the pre-rotation 
secret - and that client
was published into the map after the eviction, so subsequent calls kept using a 
secret that no longer
exists. `ConcurrentHashMap.computeIfAbsent` only locks the bin for its own key, 
so the
`entrySet().removeIf` in `invalidateCredential` never sees a creation that is 
still in flight.

Both paths now take the factory monitor: a lock-free `get` fast path, then 
`computeIfAbsent` under
the same lock that `invalidateCredential` holds. This is the shape 
`TencentClientFactory` already
uses, so the two vendor factories agree.

#5319 carried the same fix and was closed as a duplicate in favour of this PR, 
which has the earlier
lineage (#5052).

Report URL: 
https://github.com/apache/rocketmq-dashboard/actions/runs/37896884738

With regards,
GitHub Actions via GitBox

Reply via email to