[
https://issues.apache.org/jira/browse/MINSTALL-103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17965924#comment-17965924
]
Olivier Lamy commented on MINSTALL-103:
---------------------------------------
This project has moved from Jira to GitHub Issues. This issue was migrated to
[apache/maven-install-plugin#237|https://github.com/apache/maven-install-plugin/issues/237].
> Concurrency problem with installAtEnd in parallel builds
> --------------------------------------------------------
>
> Key: MINSTALL-103
> URL: https://issues.apache.org/jira/browse/MINSTALL-103
> Project: Maven Install Plugin (Moved to GitHub Issues)
> Issue Type: Bug
> Components: install:install
> Affects Versions: 2.5.1
> Reporter: Hermann Josef Hill
> Assignee: Robert Scholte
> Priority: Major
> Fix For: 2.5.2
>
> Attachments: install-plugin.patch
>
>
> In the method {{execute()}} of the class {{InstallMojo}}, the counter
> {{readyProjectsCounter}} is used to find the last project to be installed.
> Unfortunately the counter is incremented *before* the installation request is
> added to the queued {{installRequests}}. This may lead to a race condition
> where requests are added to {{installRequests}} after the (single) execution
> of the queued requests. When this happens to a module to be installed, it is
> *not* installed.
> Example scenario:
> Think of a parallel build of a reactor with only two modules A and B where
> the execution of the install plugin for module A is stopped by a context
> change directly after the line that sets {{projectsReady}}. The counter
> {{readyProjectsCounter}} is now one step before the "finish line".
> If the install plugin for module B is executed now, it will set
> {{projectsReady}}, enqueue its own installation request and then execute all
> enqueued installation requests. The installation request for A is not
> enqueued at this point, so it can't be executed - and the install plugin for
> module A won't execute it because it thinks "it will be executed later".
> Granted, the window of vulnerability is rather small, but such bugs tend to
> bite you unexpectedly...
--
This message was sent by Atlassian Jira
(v8.20.10#820010)