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.

Reply via email to