[ https://issues.apache.org/jira/browse/MNG-6604?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16878851#comment-16878851 ]
Michael Osipov commented on MNG-6604: ------------------------------------- The first point will only solve a multi VM solution, i.e, multiple instances will try to download the same file. If you have one Maven instance requesting the same artifact that daemon will use threads to download and you will simply push the issue to the deamon. The second point can be implemented without a temp dir, but with proper locking. The mentioned {{PartialFile}} works with a wait mechanism which is obviously not so good. A reliable detection mechanism has to do two things: * Detect reliably that this file is locked * Wait for a certain amount of time. This is hard because it could be a gigabyte large file and obviously you might need to wait minutes to download this one. If we say that we generally do not support multi VM access to one local repo, we'd need centralized, in-memory keyed locks to synchronize on. We could even avoid repeated downloads. > Intermittent failures while downloading GAVs from Nexus > ------------------------------------------------------- > > Key: MNG-6604 > URL: https://issues.apache.org/jira/browse/MNG-6604 > Project: Maven > Issue Type: Bug > Components: Command Line, Toolchains > Affects Versions: 3.6.0 > Environment: Nexus OSS 3.15.2-01 > Docker 18.09.2 on Ubuntu 18.04.2 LTS > Gitlab runner 11.8.0 > Reporter: Ivan Rizzante > Priority: Major > Attachments: docker-env.txt, log.txt > > > Hello > we're running maven 3.6.0 builds in a docker container and we use Nexus OSS > configured as proxy for Maven Central. > While running our builds using Gitlab CI, we're experiencing intermittent > build failures because Maven cannot find artifacts in Nexus which we verified > they are actually available. > Error example below: > {noformat} > 20744 [main] [ERROR] Failed to execute goal on project EcotransitWSClient: > Could not resolve dependencies for project > it.sdb.ecotransit:EcotransitWSClient:jar:7.0.1-SNAPSHOT: Could not transfer > artifact commons-beanutils:commons-beanutils:jar:1.9.3 from/to nexus > (http://maven-repo.sdb.it:8081/repository/maven-public/): > /builds/sdb/webportal/.m2/repository/commons-beanutils/commons-beanutils/1.9.3/commons-beanutils-1.9.3.jar.part > (No such file or directory) -> [Help 1] > {noformat} > I attached the full maven build log and our Docker env settings. > We tried disabling the keep alive and also disabling the connection pooling > but nothing seems to fix the issue. > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)