[ 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)