Uploaded image for project: 'Maven Resolver'
  1. Maven Resolver
  2. MRESOLVER-25

Resume support is broken under high concurrency

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • Maven Artifact Resolver 1.0.3
    • 1.5.0, 1.6.0, 1.6.1
    • Resolver
    • None

    Description

      When building a multi-module project in parallel, Maven updates the local Maven repository without taking into account that other threads or processes might do the same at the same time.

      To reproduce:

      1. unpack the attached project
      2. mvn dependency:list -U -B -T100

      See the attached dependency-list.txt for an example output.

      First thing to notice is that the dependency is downloaded 100 times. This is unexpected, since the Reactor should coordinate all the modules.

      Second thing to notice is that the build fails, since a dependency "cannot be found". This is wrong, since the dependency can be found, it's just not processed properly.

      I suspect the legacy.DefaultWagonManager to be the cause of this, since the typical error messages are:

      • "Downloaded file does not exist: "
      • "Error copying temporary file to the final destination: "
      • "*** CHECKSUM FAILED - RETRYING"

      Attachments

        1. dependency-list.txt
          62 kB
          Roland Illig
        2. dependency-list-x.zip
          19 kB
          Roland Illig
        3. out.zip
          124 kB
          Michael Osipov
        4. wagon-not-threadsafe.zip
          108 kB
          Roland Illig

        Issue Links

          Activity

            People

              michael-o Michael Osipov
              rillignm Roland Illig
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: