[ 
https://issues.apache.org/jira/browse/MNG-7433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17508424#comment-17508424
 ] 

Dan Tran edited comment on MNG-7433 at 3/20/22, 3:35 AM:
---------------------------------------------------------

I also tried:

    * switch apache maven-invoker to run sonar:sonar ( instead of internal 
custom invoker)
    * replicate a copy of local repo so that maven-invoker has its own maven 
local repo
    * invoke a different goal ( compile  instead of sonar:sonar)
    * latest  3.9.0 from source

Possible that the lock is on stdout/stderr stream?

A workaround is to disable this line 
https://github.com/apache/maven/blob/master/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java#L226
  will remove the lock


was (Author: dantran):
I also tried:

    * switch apache maven-invoker to run sonar ( instead of internal custom 
invoker)
    * replicate a copy of local repo so that maven-invoker has its own maven 
local repo
    * latest  3.9.0 from source

A workaround is to disable this line 
https://github.com/apache/maven/blob/master/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java#L226
  will remove the lock

> multiple maven instances working same source tree can lock each other
> ---------------------------------------------------------------------
>
>                 Key: MNG-7433
>                 URL: https://issues.apache.org/jira/browse/MNG-7433
>             Project: Maven
>          Issue Type: Bug
>    Affects Versions: 3.8.5
>            Reporter: Dan Tran
>            Priority: Major
>
> I have a large multi modules java maven build where:
>   * phase 1 - basic build + unit tests + jacoco  - 40 min
>   * phase 2 - sonar:sonar 20 min
>   * phase 3 - final packaging and basic smoke-test - 20 min
> To take advantage of Maven multi-threaded build, during the reactor build, 
> one of our maven module spins another instance of Maven to run sonar:sonar 
> goal right after the basic build is done. 
> This means  our phase 2 and phase 3 run in parallel sharing the same source 
> tree, same local maven repo (where sonar:sonar should have all needed 
> dependencies at the share local maven repo to run its task)
> With maven-3.8.5, parallelization is no longer possible, phase 3 is blocked 
> until phase 2 is done. 
> I am able to trace it to  https://github.com/apache/maven/pull/628 where the 
> locking started the happen
> How does the lock mechanic work?  there must be a local file where both Maven 
> instances are watching each other.  Is there an option to disable this lock?



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to