You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by cs...@apache.org on 2025/09/01 16:04:08 UTC
(maven) branch maven-3.9.x updated: Bug: bad cache isolation between two sessions (#11082)
This is an automated email from the ASF dual-hosted git repository.
cstamas pushed a commit to branch maven-3.9.x
in repository https://gitbox.apache.org/repos/asf/maven.git
The following commit(s) were added to refs/heads/maven-3.9.x by this push:
new 59accd6125 Bug: bad cache isolation between two sessions (#11082)
59accd6125 is described below
commit 59accd6125bf8e586577abd6ced3540a0b5ff4d0
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Mon Sep 1 18:04:03 2025 +0200
Bug: bad cache isolation between two sessions (#11082)
The "early" session used to load extension will populate
cache in MavenExecutionRequest and same cache is later
reused in "normal" session as well.
This is wrong, as if project uses same parent POM as
any of loaded extnsions, data loss in form of lost
input locations occurs.
Fixes #11081
---
maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java | 2 ++
1 file changed, 2 insertions(+)
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
index c7808b2455..742cd66d37 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
@@ -111,6 +111,7 @@
import org.codehaus.plexus.logging.LoggerManager;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import org.eclipse.aether.DefaultRepositoryCache;
import org.eclipse.aether.transfer.TransferListener;
import org.slf4j.ILoggerFactory;
import org.slf4j.Logger;
@@ -911,6 +912,7 @@ private void encryption(CliRequest cliRequest) throws Exception {
private int execute(CliRequest cliRequest) throws MavenExecutionRequestPopulationException {
MavenExecutionRequest request = executionRequestPopulator.populateDefaults(cliRequest.request);
+ request.setRepositoryCache(new DefaultRepositoryCache()); // reset caches
eventSpyDispatcher.onEvent(request);