You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Michael Osipov (Jira)" <ji...@apache.org> on 2022/10/08 08:06:00 UTC

[jira] [Comment Edited] (MNG-7545) Multi building can create bad files for downloaded artifacts in local repository

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

Michael Osipov edited comment on MNG-7545 at 10/8/22 8:05 AM:
--------------------------------------------------------------

To further procede with this and reopen, provide {{mvn -v}} and all args passed to Maven as well as the build output in verbose mode ({{-X}}).


was (Author: michael-o):
To further procede with this and reopen, provide {{mvn -v} and all args passed to Maven as well as the build output in verbose mode ({{-X}}).

> Multi building can create bad files for downloaded artifacts in local repository
> --------------------------------------------------------------------------------
>
>                 Key: MNG-7545
>                 URL: https://issues.apache.org/jira/browse/MNG-7545
>             Project: Maven
>          Issue Type: Bug
>          Components: Artifacts and Repositories
>    Affects Versions: 3.8.6
>            Reporter: liuchangcheng
>            Assignee: Michael Osipov
>            Priority: Major
>         Attachments: image-2022-10-08-15-38-10-927.png
>
>
> Within a parallel build, modules A and B can start at the same time and decide at the same time that they need to download artifact X. Since X is not available locally, both can start download of X. Both will download X and both will try to write the file for X to disk.
> On Windows platforms, one of them can fail with file locking problems. On Unixes the contents of the written file can be non-deterministic.
> This issue is related to MNG-2802 in the sense that it can create a corrupted artifact file in the local repository, and it can happen to ANY file written. But as opposed to MNG-2802 the synhronization needed to fix this issue is basically only within a single running maven process, so regular java mechanisms can apply, whereas MNG-2802 probably needs to use a totally different solution space.
>  
> is this issue fixed?
> we are still facing this problem with maven 3.8.6 
>  
> I get error like this below
> [WARNING] Failed to write tracking file D:\opt\repository11\org\apache\ant\ant-launcher\1.10.12\ant-launcher-1.10.12.jar.lastUpdated
> java.io.FileNotFoundException: D:\opt\repository11\org\apache\ant\ant-launcher\1.10.12\ant-launcher-1.10.12.jar.lastUpdated (另一个程序正在使用此文件,进程无法访问。)
>     at java.io.RandomAccessFile.open0 (Native Method)
>     at java.io.RandomAccessFile.open (RandomAccessFile.java:316)
>     at java.io.RandomAccessFile.<init> (RandomAccessFile.java:243)
>     at org.eclipse.aether.internal.impl.TrackingFileManager.update (TrackingFileManager.java:86)
>     at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.write (DefaultUpdateCheckManager.java:590)
>     at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.touchArtifact (DefaultUpdateCheckManager.java:526)
>     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.evaluateDownloads (DefaultArtifactResolver.java:634)
>     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads (DefaultArtifactResolver.java:525)
>     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:402)
>     at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:229)
>     at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies (DefaultRepositorySystem.java:340)
>     at org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver.resolveInternal (DefaultPluginDependenciesResolver.java:226)
>     at org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver.resolve (DefaultPluginDependenciesResolver.java:165)
>     at org.apache.maven.plugin.internal.DefaultMavenPluginManager.resolveExtensionArtifacts (DefaultMavenPluginManager.java:911)
>     at org.apache.maven.plugin.internal.DefaultMavenPluginManager.setupExtensionsRealm (DefaultMavenPluginManager.java:842)
>     at org.apache.maven.project.DefaultProjectBuildingHelper.createProjectRealm (DefaultProjectBuildingHelper.java:197)
>     at org.apache.maven.project.DefaultModelBuildingListener.buildExtensionsAssembled (DefaultModelBuildingListener.java:101)
>     at org.apache.maven.model.building.ModelBuildingEventCatapult$1.fire (ModelBuildingEventCatapult.java:44)
>     at org.apache.maven.model.building.DefaultModelBuilder.fireEvent (DefaultModelBuilder.java:1450)
>     at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:530)
>     at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:510)
>     at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:618)
>     at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:387)
>     at org.apache.maven.graph.DefaultGraphBuilder.collectProjects (DefaultGraphBuilder.java:414)
>     at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor (DefaultGraphBuilder.java:405)
>     at org.apache.maven.graph.DefaultGraphBuilder.build (DefaultGraphBuilder.java:82)
>     at org.apache.maven.DefaultMaven.buildGraph (DefaultMaven.java:532)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:219)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
>     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
>     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
>     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
>  
> [ERROR] Caused by: D:\opt\repository11\org\apache\httpcomponents\httpcore\4.3.3\httpcore-4.3.3.jar.part.lock (拒绝访问。)
>  
> mvn -version
> Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
> Maven home: D:\apache-maven-3.8.6
> Java version: 1.8.0_141, vendor: Oracle Corporation, runtime: D:\Program Files\Java\jdk1.8.0_141\jre
> Default locale: zh_CN, platform encoding: GBK
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"



--
This message was sent by Atlassian Jira
(v8.20.10#820010)