[
https://issues.apache.org/jira/browse/MNG-6720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16894354#comment-16894354
]
Robert Scholte commented on MNG-6720:
-------------------------------------
In that case I like the idea, but I can't confirm that by code review. I would
expect that the poll() is still required to empty the waiting projectSegments.
I don't see any fork/join related code, but maybe I'm missing a detail.
Is it possible to create an integrationtest with a 3 modules: module A being
longrunning, module B being shortrunnig and failing, and module C
shortrunning, but should not be called. It should confirm that A properly and
that C is not called at all.
> MultiThreadedBuilder: wait for parallel running projects when using
> --fail-fast
> -------------------------------------------------------------------------------
>
> Key: MNG-6720
> URL: https://issues.apache.org/jira/browse/MNG-6720
> Project: Maven
> Issue Type: Bug
> Components: core
> Affects Versions: 3.5.4, 3.6.1
> Reporter: Stefan Oehme
> Assignee: Michael Osipov
> Priority: Major
> Fix For: 3.6.x-candidate
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> When a project fails using --fail-fast mode, other projects that are
> currently running in parallel are not finished before the "session finished"
> event is sent. This leads to issues for extensions that rely on the
> documented order of events, which says that "session finished" is only sent
> "after all projects have been finished/skipped".
> In our case, we close a service on "session finished", and that service is
> needed to execute goals. The goals that were running in parallel at that time
> then fail, saying that our service was closed, giving our users the
> impression that there is a bug in our code.
> The relevant line is
> [here|https://github.com/apache/maven/blob/master/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java#L179].
> Instead of using `poll`, which simply returns when the parallel projects
> aren't finished yet, the code should shut down the executor and wait for it
> to complete the outstanding parallel work.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)