You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Hudson (Jira)" <ji...@apache.org> on 2020/03/28 14:59:02 UTC

[jira] [Commented] (MNG-5687) Parallel Builds can build in wrong order

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

Hudson commented on MNG-5687:
-----------------------------

Build failed in Jenkins: Maven TLP » maven-studies » maven-metrics #4

See https://builds.apache.org/job/maven-box/job/maven-studies/job/maven-metrics/4/

> Parallel Builds can build in wrong order
> ----------------------------------------
>
>                 Key: MNG-5687
>                 URL: https://issues.apache.org/jira/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
>            Priority: Major
>             Fix For: 3.2.5
>
>
> 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
(v8.3.4#803005)