This is an automated email from the ASF dual-hosted git repository. tibordigana pushed a commit to branch MNG-6726 in repository https://gitbox.apache.org/repos/asf/maven.git
commit c8865e8a325b8563e03d08cdd5c6be158e309639 Author: tibordigana <[email protected]> AuthorDate: Tue Jul 30 13:04:49 2019 +0200 Revert "[MNG-6720] MultiThreadedBuilder: wait for parallel running projects when using --fail-fast" This reverts commit 0515cb1f --- .../builder/multithreaded/MultiThreadedBuilder.java | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java index 94d10af..bfbfb02 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java @@ -27,7 +27,7 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorCompletionService; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import java.util.concurrent.TimeUnit; +import java.util.concurrent.Future; import org.apache.maven.execution.MavenSession; import org.apache.maven.lifecycle.internal.BuildThreadFactory; @@ -114,9 +114,6 @@ public class MultiThreadedBuilder } } - - executor.shutdown(); - executor.awaitTermination( Long.MAX_VALUE, TimeUnit.MILLISECONDS ); } private void multiThreadedProjectTaskSegmentBuild( ConcurrencyDependencyGraph analyzer, @@ -175,6 +172,21 @@ public class MultiThreadedBuilder break; } } + + // cancel outstanding builds (if any) - this can happen if an exception is thrown in above block + + Future<ProjectSegment> unprocessed; + while ( ( unprocessed = service.poll() ) != null ) + { + try + { + unprocessed.get(); + } + catch ( InterruptedException | ExecutionException e ) + { + throw new RuntimeException( e ); + } + } } private Callable<ProjectSegment> createBuildCallable( final MavenSession rootSession,
