[ https://issues.apache.org/jira/browse/MNG-7868?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17864364#comment-17864364 ]
Daniel Johnson edited comment on MNG-7868 at 7/9/24 8:16 PM: ------------------------------------------------------------- I have seen this failure off and on with 3.9.7/3.9.8. The only hint I have found, is that in my case when it happens, it seems the projects in the reactor that "hold" the locked artifact took longer than 30 seconds to build (i.e. mvn clean install). {code:java} 12:24:11.398 [main] [ERROR] java.lang.IllegalStateException: Could not acquire lock(s) java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Could not acquire lock(s) at java.util.concurrent.FutureTask.report (FutureTask.java:122) at java.util.concurrent.FutureTask.get (FutureTask.java:192) at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder.multiThreadedProjectTaskSegmentBuild (MultiThreadedBuilder.java:140) at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder.build (MultiThreadedBuilder.java:101) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:903) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:280) at org.apache.maven.cli.MavenCli.main (MavenCli.java:203) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:255) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:201) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:361) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:314) Caused by: java.lang.IllegalStateException: Could not acquire lock(s) at org.eclipse.aether.internal.impl.synccontext.named.NamedLockFactoryAdapter$AdaptedLockSyncContext.acquire (NamedLockFactoryAdapter.java:219) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:276) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:261) at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies (DefaultRepositorySystem.java:353) at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (DefaultProjectDependenciesResolver.java:184) at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies (LifecycleDependencyResolver.java:224) at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies (LifecycleDependencyResolver.java:136) at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved (MojoExecutor.java:355) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:313) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174) at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75) at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162) at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105) at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:193) at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:180) at java.util.concurrent.FutureTask.run (FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:511) at java.util.concurrent.FutureTask.run (FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:624) at java.lang.Thread.run (Thread.java:750) Suppressed: java.lang.IllegalStateException: Attempt 1: Could not acquire read lock for 'artifact:aopalliance:aopalliance:1.0' 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:276) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:261) at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies (DefaultRepositorySystem.java:353) at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (DefaultProjectDependenciesResolver.java:184) at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies (LifecycleDependencyResolver.java:224) at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies (LifecycleDependencyResolver.java:136) at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved (MojoExecutor.java:355) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:313) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174) at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75) at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162) at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105) at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:193) at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:180) at java.util.concurrent.FutureTask.run (FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:511) at java.util.concurrent.FutureTask.run (FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:624) at java.lang.Thread.run (Thread.java:750) {code} {code:java} 12:24:11.386 [main] [INFO] Reactor Summary: ... 12:24:11.387 [main] [INFO] model 7.0.0-SNAPSHOT ...... SUCCESS [ 32.595 s] 12:24:11.389 [main] [INFO] service-api 7.0.0-SNAPSHOT .................. SUCCESS [ 32.183 s] 12:24:11.390 [main] [INFO] component-parent 7.0.0-SNAPSHOT .................. FAILURE [ 31.469 s] 12:24:11.390 [main] [INFO] webapp-parent 7.0.0-SNAPSHOT .................... FAILURE [ 31.230 s]{code} {code:java} 12:24:10.551 [mvn-builder-component-parent] [INFO] Name: artifact:aopalliance:aopalliance:1.0 12:24:10.551 [mvn-builder-component-parent] [INFO] RefCount: 3 12:24:10.551 [mvn-builder-component-parent] [INFO] Thread[mvn-builder-webapp-parent,5,main] -> [shared] 12:24:10.552 [mvn-builder-component-parent] [INFO] Thread[mvn-builder-service-api,5,main] -> [] 12:24:10.552 [mvn-builder-component-parent] [INFO] Thread[mvn-builder-model,5,main] -> [] 12:24:10.552 [mvn-builder-component-parent] [INFO] Thread[mvn-builder-component-parent,5,main] -> [shared]{code} The 'webapp-parent' thread showed same lock details for this artifact. The 'model' did take 32.5 seconds to complete, and I noted a 17 second pause during a custom Java compile phase we have that requires dependency artifact access as the compile dependencies are put on the compiler classpath {code:java} 12:23:43.500 [mvn-builder-model] [INFO] --- custom-plugin:3.2.8:compile-artifacts (default-compile-artifacts) @ model --- <-- Hangs for ~17 seconds 12:24:10.472 [mvn-builder-model] [INFO] Compiling 71 source files to /model/target/artifact-classes{code} On the 'service-api' that did complete in 32 seconds, I found a 20 second pause during dependency resolution in the logs that correlates to the same timestamps of the model doing dependency access, and ultimately is all about the time that the build started to produce lock failures {code:java} 12:23:39.048 [mvn-builder-service-api] [INFO] Building service-api 7.0.0-SNAPSHOT [115/174] 12:23:39.048 [mvn-builder-service-api] [INFO] from /services/service-api/pom.xml 12:23:39.048 [mvn-builder-service-api] [INFO] -----------------------------[ jar ]----------------------------- <-- Hangs here for ~21 seconds 12:24:10.442 [mvn-builder-service-api] [INFO] 12:24:10.443 [mvn-builder-service-api] [INFO] --- clean:2.5:clean (default-clean) @ service-api ---{code} Note the gap between start of building the service-api and running the clean plugin. I suspect that build was hung because 'model' project had lock on 'aopalliance:aopalliance' that was not allowing service-api to access it? I just don't really understand how these locks are used and what that means when you have multiple reactor projects trying to use same resolved dependencies. I would expect the lock is only claimed during dependency resolution of that specific artifact to ensure only one thread is attempting to download the artifact to the local repository, but once downloaded the lock would be released for other threads to access the shared artifact? was (Author: hankolerd): I have seen this failure off and on with 3.9.7/3.9.8. The only hint I have found, is that in my case when it happens, it seems the projects in the reactor that "hold" the locked artifact took longer than 30 seconds to build (i.e. mvn clean install). {code:java} 12:24:11.398 [main] [ERROR] java.lang.IllegalStateException: Could not acquire lock(s) java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Could not acquire lock(s) at java.util.concurrent.FutureTask.report (FutureTask.java:122) at java.util.concurrent.FutureTask.get (FutureTask.java:192) at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder.multiThreadedProjectTaskSegmentBuild (MultiThreadedBuilder.java:140) at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder.build (MultiThreadedBuilder.java:101) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:903) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:280) at org.apache.maven.cli.MavenCli.main (MavenCli.java:203) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:255) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:201) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:361) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:314) Caused by: java.lang.IllegalStateException: Could not acquire lock(s) at org.eclipse.aether.internal.impl.synccontext.named.NamedLockFactoryAdapter$AdaptedLockSyncContext.acquire (NamedLockFactoryAdapter.java:219) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:276) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:261) at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies (DefaultRepositorySystem.java:353) at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (DefaultProjectDependenciesResolver.java:184) at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies (LifecycleDependencyResolver.java:224) at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies (LifecycleDependencyResolver.java:136) at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved (MojoExecutor.java:355) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:313) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174) at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75) at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162) at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105) at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:193) at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:180) at java.util.concurrent.FutureTask.run (FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:511) at java.util.concurrent.FutureTask.run (FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:624) at java.lang.Thread.run (Thread.java:750) Suppressed: java.lang.IllegalStateException: Attempt 1: Could not acquire read lock for 'artifact:aopalliance:aopalliance:1.0' 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:276) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:261) at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies (DefaultRepositorySystem.java:353) at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (DefaultProjectDependenciesResolver.java:184) at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies (LifecycleDependencyResolver.java:224) at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies (LifecycleDependencyResolver.java:136) at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved (MojoExecutor.java:355) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:313) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174) at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75) at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162) at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105) at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:193) at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:180) at java.util.concurrent.FutureTask.run (FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:511) at java.util.concurrent.FutureTask.run (FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:624) at java.lang.Thread.run (Thread.java:750) {code} {code:java} 12:24:11.386 [main] [INFO] Reactor Summary: ... 12:24:11.387 [main] [INFO] model 7.0.0-SNAPSHOT ...... SUCCESS [ 32.595 s] 12:24:11.389 [main] [INFO] service-api 7.0.0-SNAPSHOT .................. SUCCESS [ 32.183 s] 12:24:11.390 [main] [INFO] component-parent 7.0.0-SNAPSHOT .................. FAILURE [ 31.469 s] 12:24:11.390 [main] [INFO] webapp-parent 7.0.0-SNAPSHOT .................... FAILURE [ 31.230 s]{code} {code:java} 12:24:10.551 [mvn-builder-component-parent] [INFO] Name: artifact:aopalliance:aopalliance:1.0 12:24:10.551 [mvn-builder-component-parent] [INFO] RefCount: 3 12:24:10.551 [mvn-builder-component-parent] [INFO] Thread[mvn-builder-webapp-parent,5,main] -> [shared] 12:24:10.552 [mvn-builder-component-parent] [INFO] Thread[mvn-builder-service-api,5,main] -> [] 12:24:10.552 [mvn-builder-component-parent] [INFO] Thread[mvn-builder-model,5,main] -> [] 12:24:10.552 [mvn-builder-component-parent] [INFO] Thread[mvn-builder-component-parent,5,main] -> [shared]{code} The 'webapp-parent' thread showed same lock details for this artifact. The 'model' did take 32.5 seconds to complete, and I noted a 17 second pause during a custom Java compile phase we have that requires dependency artifact access as the compile dependencies are put on the compiler classpath {code:java} 12:23:43.500 [mvn-builder-model] [INFO] --- custom-plugin:3.2.8:compile-artifacts (default-compile-artifacts) @ model --- <-- Hangs for ~17 seconds 12:24:10.472 [mvn-builder-model] [INFO] Compiling 71 source files to /model/target/artifact-classes{code} On the 'service-api' that did complete in 32 seconds, I found a 20 second pause during dependency resolution in the logs that correlates to the same timestamps of the model doing dependency access, and ultimately is all about the time that the build started to produce lock failures {code:java} 12:23:39.048 [mvn-builder-service-api] [INFO] Building service-api 7.0.0-SNAPSHOT [115/174] 12:23:39.048 [mvn-builder-service-api] [INFO] from /services/service-api/pom.xml 12:23:39.048 [mvn-builder-service-api] [INFO] -----------------------------[ jar ]----------------------------- -- <-- -- <-- Hangs here for ~21 seconds 12:24:10.442 [mvn-builder-service-api] [INFO] 12:24:10.443 [mvn-builder-service-api] [INFO] --- clean:2.5:clean (default-clean) @ service-api ---{code} Note the gap between start of building the service-api and running the clean plugin. I suspect that build was hung because 'model' project had lock on 'aopalliance:aopalliance' that was not allowing service-api to access it? I just don't really understand how these locks are used and what that means when you have multiple reactor projects trying to use same resolved dependencies. I would expect the lock is only claimed during dependency resolution of that specific artifact to ensure only one thread is attempting to download the artifact to the local repository, but once downloaded the lock would be released for other threads to access the shared artifact? > "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: 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)