This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/maven-resolver.git
commit 436cf8b016552f8a8e930f41704e01a7b76260e7 Author: Guillaume Nodet <[email protected]> AuthorDate: Sun Jun 7 06:48:54 2026 +0000 Fix NamedLockFactorySupport getLock/shutdown race F-21: Re-check shutdown flag inside the locks.compute() lambda to prevent creating locks on a backend that was shut down between the initial check and the actual lock creation. --- .../java/org/eclipse/aether/named/support/NamedLockFactorySupport.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/maven-resolver-named-locks/src/main/java/org/eclipse/aether/named/support/NamedLockFactorySupport.java b/maven-resolver-named-locks/src/main/java/org/eclipse/aether/named/support/NamedLockFactorySupport.java index 253587476..bee186afc 100644 --- a/maven-resolver-named-locks/src/main/java/org/eclipse/aether/named/support/NamedLockFactorySupport.java +++ b/maven-resolver-named-locks/src/main/java/org/eclipse/aether/named/support/NamedLockFactorySupport.java @@ -116,6 +116,9 @@ public abstract class NamedLockFactorySupport implements NamedLockFactory { protected NamedLock getLockAndRefTrack(final NamedLockKey key, Supplier<NamedLockSupport> supplier) { return locks.compute(key, (k, v) -> { + if (shutdown.get()) { + throw new IllegalStateException("factory already shut down"); + } if (v == null) { v = new NamedLockHolder(supplier.get()); }
