mirror of
https://github.com/spring-projects/spring-framework.git
synced 2026-09-20 12:19:16 +00:00
ConcurrentLruCache.clear() previously drained write operations before cleaning up the cache. This could re-enqueue nodes that clear() was about to remove, causing useless evictionQueue operations. Now clear() iterates the cache values directly, removes and marks nodes as removed first, and drains write operations afterward. Since AddTask fails silently after a node is marked removed, this avoids the no-op work and improves performance. See gh-37287 Closes gh-37292 Signed-off-by: Chengang Guan <guanchengang@qq.com>