You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by GitBox <gi...@apache.org> on 2021/05/14 15:54:46 UTC

[GitHub] [maven] famod commented on pull request #413: [MNG-6843] Thread-safe artifacts in MavenProject

famod commented on pull request #413:
URL: https://github.com/apache/maven/pull/413#issuecomment-841332349


   @gnodet @Tibor17 Have you guys read https://github.com/apache/maven/pull/310#issuecomment-617783528? (and maybe also https://github.com/apache/maven/pull/310#issuecomment-612659076)?
   The main problem is here: https://github.com/apache/maven/blob/c3cf29438e3d65d6ee5c5726f8611af99d9a649a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java#L282
   
   I don't see how a fine grained synchronization or a COWAL in `MavenProject` can help here. The execution of an aggregation goal would have to lock all other invocations of `getArtifacts()` etc. (however those may look like) until done with the artifact processing.
   
   Overhauling the (problematic) design of aggregation goal handling would be the most sustainable solution. But neither me nor the others that took a stab at this have the knowledge or capacity to do that.
   
   But even then: `MavenProject` is highly mutable, there are setters everywhere (which is good for Maven extensions that enhance the Maven experience but often bad for concurrency stability).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org