Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-5315

Artifact resolution sporadically fails in parallel builds

    XMLWordPrintableJSON

Details

    Description

      Artifact resolution can fail during the parallel build if it was downloaded during the same session.

      Scenario:

      1) Delete the whole Maven local repository.
      2) Run build "mvn compile -T1.5C"
      3) Build fails (see log extracts below)
      4) If I run build again, it succeeds.

      It seems like the problem is due to two thread trying to resolve same artifact concurrently. This problem never happens once I have all dependencies cached in the local repository.

      Extracts from the log output:

      Downloading: http://nexus/content/repositories/thirdparty/com/googlecode/guava-osgi/guava-osgi/11.0.0/guava-osgi-11.0.0.jar 12444/13937 KB ...
      ...
      [DEBUG] Skipped remote update check for commons-cli:commons-cli:jar:1.2, already updated during this session.
      [DEBUG] Skipped remote update check for com.googlecode.guava-osgi:guava-osgi:jar:11.0.0, already updated during this session.
      [DEBUG] Skipped remote update check for org.slf4j:slf4j-api:jar:1.6.4, already updated during this session.
      [DEBUG] Skipped remote update check for org.slf4j:slf4j-jdk14:jar:1.6.4, already updated during this session.
      ...
      [ERROR] Failed to execute goal on project util: Could not resolve dependencies for project com.guidewire.pl:util:bundle:1.0-SNAPSHOT: The following artifacts could not be resolved: commons-cli:commons-cli:jar:1.2, com.googlecode.guava-osgi:guava-osgi:jar:11.0.0, org.slf4j:slf4j-api:jar:1.6.4, org.slf4j:slf4j-jdk14:jar:1.6.4: Failure to find commons-cli:commons-cli:jar:1.2 in http://nexus/content/repositories/thirdparty was cached in the local repository, resolution will not be reattempted until the update interval of gw.thirdparty has elapsed or updates are forced -> [Help 1]
      org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project util: Could not resolve dependencies for project com.guidewire.pl:util:bundle:1.0-SNAPSHOT: The following artifacts could not be resolved: commons-cli:commons-cli:jar:1.2, com.googlecode.guava-osgi:guava-osgi:jar:11.0.0, org.slf4j:slf4j-api:jar:1.6.4, org.slf4j:slf4j-jdk14:jar:1.6.4: Failure to find commons-cli:commons-cli:jar:1.2 in http://nexus/content/repositories/thirdparty was cached in the local repository, resolution will not be reattempted until the update interval of gw.thirdparty has elapsed or updates are forced
              at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:210)
              at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies(LifecycleDependencyResolver.java:117)
              at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved(MojoExecutor.java:258)
              at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:201)
              at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
              at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
              at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
              at org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:167)
              at org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:163)
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
              at java.util.concurrent.FutureTask.run(FutureTask.java:138)
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
              at java.util.concurrent.FutureTask.run(FutureTask.java:138)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)
      Caused by: org.apache.maven.project.DependencyResolutionException: Could not resolve dependencies for project com.guidewire.pl:util:bundle:1.0-SNAPSHOT: The following artifacts could not be resolved: commons-cli:commons-cli:jar:1.2, com.googlecode.guava-osgi:guava-osgi:jar:11.0.0, org.slf4j:slf4j-api:jar:1.6.4, org.slf4j:slf4j-jdk14:jar:1.6.4: Failure to find commons-cli:commons-cli:jar:1.2 in http://nexus/content/repositories/thirdparty was cached in the local repository, resolution will not be reattempted until the update interval of gw.thirdparty has elapsed or updates are forced
              at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:189)
              at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:185)
              ... 16 more
      Caused by: org.sonatype.aether.resolution.DependencyResolutionException: The following artifacts could not be resolved: commons-cli:commons-cli:jar:1.2, com.googlecode.guava-osgi:guava-osgi:jar:11.0.0, org.slf4j:slf4j-api:jar:1.6.4, org.slf4j:slf4j-jdk14:jar:1.6.4: Failure to find commons-cli:commons-cli:jar:1.2 in http://nexus/content/repositories/thirdparty was cached in the local repository, resolution will not be reattempted until the update interval of gw.thirdparty has elapsed or updates are forced
              at org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:375)
              at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:183)
              ... 17 more
      Caused by: org.sonatype.aether.resolution.ArtifactResolutionException: The following artifacts could not be resolved: commons-cli:commons-cli:jar:1.2, com.googlecode.guava-osgi:guava-osgi:jar:11.0.0, org.slf4j:slf4j-api:jar:1.6.4, org.slf4j:slf4j-jdk14:jar:1.6.4: Failure to find commons-cli:commons-cli:jar:1.2 in http://nexus/content/repositories/thirdparty was cached in the local repository, resolution will not be reattempted until the update interval of gw.thirdparty has elapsed or updates are forced
              at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:538)
              at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:216)
              at org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:358)
              ... 18 more
      Caused by: org.sonatype.aether.transfer.ArtifactNotFoundException: Failure to find commons-cli:commons-cli:jar:1.2 in http://nexus/content/repositories/thirdparty was cached in the local repository, resolution will not be reattempted until the update interval of gw.thirdparty has elapsed or updates are forced
              at org.sonatype.aether.impl.internal.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:230)
              at org.sonatype.aether.impl.internal.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.java:176)
              at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:427)
              ... 20 more
      
      

      Attachments

        1. MNG-5315-3.0.x.patch
          11 kB
          Stephen Evanchik
        2. MNG-5315-3.1.2-SNAPSHOT.patch
          12 kB
          Stephen Evanchik

        Issue Links

          Activity

            People

              michael-o Michael Osipov
              wfrag Ivan Dubrov
              Votes:
              22 Vote for this issue
              Watchers:
              32 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: