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

Resume support is broken under high concurrency

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: Maven Artifact Resolver 1.0.3
    • Fix Version/s: 1.5.0, 1.6.0, 1.6.1
    • Component/s: Resolver
    • Labels:
      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

              • Assignee:
                michael-o Michael Osipov
                Reporter:
                rillignm Roland Illig
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: