You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by gn...@apache.org on 2026/06/16 10:10:43 UTC
(maven-resolver) 11/34: Fix DefaultMirrorSelector — use CopyOnWriteArrayList for mirrors
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 <gn...@gmail.com>
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.