[ 
https://jira.codehaus.org/browse/MNG-5687?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kristian Rosenvold closed MNG-5687.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 3.2.4

Fixed in 3d2d8619b17abb781cc9fdccbfdd94f115c82c49

> Parallel Builds can build in wrong order
> ----------------------------------------
>
>                 Key: MNG-5687
>                 URL: https://jira.codehaus.org/browse/MNG-5687
>             Project: Maven
>          Issue Type: Bug
>          Components: General
>    Affects Versions: 3.2.3
>         Environment: Best visibility on jdk8
>            Reporter: Kristian Rosenvold
>            Assignee: Kristian Rosenvold
>             Fix For: 3.2.4
>
>
> Fixed JDK8 IT failure for 
> MavenITmng3004ReactorFailureBehaviorMultithreadedTest#testitFailFastSingleThread
> It turns out the execution order of the modules in the build can be 
> incorrect, in some cases severely incorrect.
> For parallel builds this can have all sorts of interesting side effects such 
> as classpath
> appearing to be intermittently incorrect, missing jars/resources and similar.
> The -am options and -amd options may simply fail with the incorrect build 
> order
> because expected dependencies have not been built and actual dependencies may 
> not have been built.
> The underlying problem was that ProjectDependencyGraph#getDownstreamProjects 
> and getUpstreamProjects
> did not actually obey the reactor build order as defined by 
> ProjectDependencyGraph#getSortedProjects,
> even though the javadoc claims they should.
> This has only worked by accident on earlier JDK's and might not have worked 
> at all (basically
> depends on Set iteration order being equal to insertion order). JDK8 has 
> slightly different
> iteration order, which caused the IT failure.
> This problem may be the root cause of MNG-4996 and any other issue where the 
> modules build
> in incorrect order.
> The bug affects:
> parallel builds
> command line -am (--also-make) option
> command line -amd (also-make-dependents) option
> On all java versions, although visibility might be somewhat different on 
> different jdks.
> Added simple unit test that catches the problem.



--
This message was sent by Atlassian JIRA
(v6.1.6#6162)

Reply via email to