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 47fb6945ca17b02b0a93c049f53181389f43fa10 Author: Guillaume Nodet <[email protected]> AuthorDate: Sun Jun 7 06:40:38 2026 +0000 Fix DefaultMirrorSelector — use CopyOnWriteArrayList for mirrors F-14: Replace plain ArrayList with CopyOnWriteArrayList to prevent ConcurrentModificationException when add() is called concurrently with getMirror()/findMirror() iteration. --- .../org/eclipse/aether/util/repository/DefaultMirrorSelector.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultMirrorSelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultMirrorSelector.java index d7740acb7..e3b6b9365 100644 --- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultMirrorSelector.java +++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultMirrorSelector.java @@ -18,9 +18,9 @@ */ package org.eclipse.aether.util.repository; -import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; import org.eclipse.aether.repository.MirrorSelector; import org.eclipse.aether.repository.RemoteRepository; @@ -38,7 +38,7 @@ public final class DefaultMirrorSelector implements MirrorSelector { private static final String EXTERNAL_HTTP_WILDCARD = "external:http:*"; - private final List<MirrorDef> mirrors = new ArrayList<>(); + private final List<MirrorDef> mirrors = new CopyOnWriteArrayList<>(); /** * Adds the specified mirror to this selector.
