You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Markus Karg (JIRA)" <ji...@apache.org> on 2015/05/01 10:17:07 UTC

[jira] [Commented] (MDEP-442) Failed to access file due to locked access when using more than one Maven worker thread

    [ https://issues.apache.org/jira/browse/MDEP-442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14522924#comment-14522924 ] 

Markus Karg commented on MDEP-442:
----------------------------------

Jenkins is configured to run only one instance of the job. The problem was not triggered by parallel execution of that job, but by using multiple threads for that single job. The modules of the maven project access the same dependency, which seems to be not thread safe. It works well with one worker job, but not with many. It has nothing to do with Jenkins, and happens sporadically.

> Failed to access file due to locked access when using more than one Maven worker thread
> ---------------------------------------------------------------------------------------
>
>                 Key: MDEP-442
>                 URL: https://issues.apache.org/jira/browse/MDEP-442
>             Project: Maven Dependency Plugin
>          Issue Type: Bug
>          Components: copy
>    Affects Versions: 2.8
>         Environment: MVN 3.0.4, JDK 1.7, Win 7 Pro SP1 64 Bit
>            Reporter: Markus Karg
>            Priority: Critical
>             Fix For: waiting-for-feedback
>
>         Attachments: maven-thread-test-update.zip, maven-thread-test.zip
>
>
> My multi-module POM contains of ten modules. Each of that modules does the same: Invoke the 'copy' goal of the dependency plugin. The idea is to have ten copies of the identical source, which then will end up in ten different targets by getting furthere processed.
> As long as I do not use more than one Maven worker thread, everything works well always. But when using -T 5 to have five worker threads, rather often the reactor fails because the source file (!) is locked:
> {noformat}
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:copy (copy) on project MYARTIFACT: Unable to resolve artifact. Could not transfer artifact mygroup:myartifact:dll:4.36.1-20140415.143537-37 from/to nexus (http://nexus/nexus/content/groups/public): C:\Users\jenkins.QUIPSY\.m2\repository\mygroup\myartifact\4.36.1-SNAPSHOT\myartifact-4.36.1-20140415.143537-37.dll (The process cannot access the file, because it is in use by another process)
> {noformat}
> So it seems that the 'copy' task actually is locking the source file, which is not multi-threading-compatible. Hence, either that is a bug and should get fixed, or it is on purpose, then this goal has to be marked as non-multithreading-able.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)