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

Juan Pablo Santos Rodríguez commented on MNG-7433:
--------------------------------------------------

Another oddity, our aggregator mojo contains an {{skip}} parameter flag, which 
is ignored in this case, the build gets stuck after the mojo before the 
aggretated one ends; the aggregator mojo doesn't seem to be called at all, the 
build gets stuck before it's called.

As of how to reproduce, it seems a multimodule build isn't needed to hit this 
issue; go to start.spring.io, generate a default project, and add a 
{{javadoc:aggregate}} execution so that the {{<build/>}} section on the pm.xml 
looks like:
{code:xml}
<build>
  <plugins>
    <plugin>
      <artifactId>maven-javadoc-plugin</artifactId>
      <version>3.4.0</version>
      <executions>
        <execution>
          <id>aggregate-javadocs</id>
          <goals>
            <goal>aggregate</goal>
          </goals>
          <phase>compile</phase>
        </execution>
      </executions>
    </plugin>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>
{code}
{{mvn clean spring-boot:run -T 1C}} with Maven 3.8.5 will block after 
compiling, but before the {{javadoc:aggregate}} execution.

> [REGRESSION] Multiple maven instances working on 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.7#820007)

Reply via email to