[
https://issues.apache.org/jira/browse/MNG-7868?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17873736#comment-17873736
]
Daniel Johnson commented on MNG-7868:
-------------------------------------
Agreed [~michael-o], and I understand the default had to start somewhere. So
far in my testing last couple hours, putting a low lock timeout makes issue
easily reproducible, while putting a high timeout the issue does not occur.
I want to put forward the argument that the "Could not acquire lock(s)" error
message is cryptic, I think, to most users. At least it was for me. The fact
that the root-cause could be in some cases simply a slow artifact download, and
since there is no information about how a user can configure a higher lock
timeout, it is hard to know why this error is happening and what user should do
about it. At least at my company we have held off using Maven 3.9 as we faced
~20% build failure rate due to this error. Locally I use Maven 3.9, but was
just having to retry builds to workaround the issue.
Now that I understand it is just a slow server causing it, which is outside my
control, I plan to configure our system with a lock timeout of 10 minutes and
see how we fair. If you can think of any way the error message could provide
more information to the user as to why the lock could not be acquired and what
options they have to change the timeouts it may go a long way in my book. At
least on the surface it does not appear to be a code issue at all, just unclear
error message and need for users to understand and configure the resolver
pieces of Maven effectively for their environment. Cheers
> "Could not acquire lock(s)" error in concurrent maven builds
> ------------------------------------------------------------
>
> Key: MNG-7868
> URL: https://issues.apache.org/jira/browse/MNG-7868
> Project: Maven
> Issue Type: Bug
> Environment: windows, maven 3.9.4
> Reporter: Jörg Hohwiller
> Priority: Major
> Attachments: MNG-7868-pz_ai_37_lock.txt, MNG-7868-reproduce.txt,
> MNG-7868.zip, image-2024-04-10-15-44-37-013.png, screenshot-1.png
>
>
> {code}
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-install-plugin:3.1.1:install (default-install)
> on project foo.bar: Execution default-install of goal
> org.apache.maven.plugins:maven-install-plugin:3.1.1:install failed: Could not
> acquire lock(s) -> [Help 1]
> {code}
> I am using maven 3.9.4 on windows:
> {code}
> $ mvn -v
> Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)
> Maven home: D:\projects\test\software\mvn
> Java version: 17.0.5, vendor: Eclipse Adoptium, runtime:
> D:\projects\test\software\java
> Default locale: en_US, platform encoding: UTF-8
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
> {code}
> I searched for this bug and found issues like MRESOLVER-332 that first look
> identical or similar but do not really seem to be related so I decided to
> create this issue.
> For this bug I made the following observations:
> * it only happens with concurrent builds: {{mvn -T ...}}
> * is seems to be windows related (at least mainly happens on windows)
> * it is in-deterministic and is not so easy to create an isolated and simple
> project and a reproducible scenario that always results in this error.
> However, I get this very often in my current project with many modules (500+).
> * it is not specific to the maven-install-plugin and also happens from other
> spots in maven:
> I also got this stacktrace:
> {code}
> Suppressed: java.lang.IllegalStateException: Attempt 1: Could not acquire
> write lock for
> 'C:\Users\hohwille\.m2\repository\.locks\artifact~com.caucho~com.springsource.com.caucho~3.2.1.lock'
> in 30 SECONDS
> at
> org.eclipse.aether.internal.impl.synccontext.named.NamedLockFactoryAdapter$AdaptedLockSyncContext.acquire
> (NamedLockFactoryAdapter.java:202)
> at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve
> (DefaultArtifactResolver.java:271)
> at
> org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts
> (DefaultArtifactResolver.java:259)
> at
> org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies
> (DefaultRepositorySystem.java:352)
> {code}
> See also this related discussion:
> https://github.com/apache/maven-mvnd/issues/836#issuecomment-1702488377
--
This message was sent by Atlassian Jira
(v8.20.10#820010)