[ https://issues.apache.org/jira/browse/MDEPLOY-172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17965706#comment-17965706 ]
Olivier Lamy commented on MDEPLOY-172: -------------------------------------- This project has moved from Jira to GitHub Issues. This issue was migrated to [apache/maven-deploy-plugin#353|https://github.com/apache/maven-deploy-plugin/issues/353]. > Concurrency problem with deployAtEnd in parallel builds > ------------------------------------------------------- > > Key: MDEPLOY-172 > URL: https://issues.apache.org/jira/browse/MDEPLOY-172 > Project: Maven Deploy Plugin (Moved to GitHub Issues) > Issue Type: Bug > Components: deploy:deploy > Affects Versions: 2.8.1 > Reporter: Hermann Josef Hill > Assignee: Robert Scholte > Priority: Major > Fix For: 2.8.2 > > Attachments: deploy-plugin.patch > > > In the method {{execute()}} of the class {{DeployMojo}}, the counter > {{readyProjectsCounter}} is used to find the last project to be deployed. > Unfortunately the counter is incremented *before* the deployment request is > added to the queued {{deployRequests}}. This may lead to a race condition > where requests are added to {{deployRequests}} after the execution of the > queued requests. When this happens to a module that should be deployed, it > will *not* be deployed. > Example scenario: > Think of a parallel build of a reactor with only two modules A and B where > the execution of the deploy 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 deploy plugin for module B is executed now, it will set > {{projectsReady}}, enqueue its own deployment request and then execute all > enqueued deployment requests. The deployment request for A is not enqueued at > this point, so it can't be executed - and the deploy 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)