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

Parallel resolution of artifacts

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.8
    • Fix Version/s: 2.1.0
    • Labels:
      None
    • Flags:
      Patch

      Description

      Artifacts should be resolved in parallel, grouped by group id's to get around the lack of synchronization in the local repository. The patch does the following:

      • Use a ThreadPoolExecutor to parallelize artifact resolution, but takes care not to resolve multiple artifacts from the same group id simultaneously. (requires Java 5)
      • Makes the http wagon the default instead of the poor performing http-client

      Disadvantages:

      • Requires Java 5, but the backport jars could be substituted pretty easily
      • Breaks some plugins due to commons-logging being in the Maven uber jar (required by commons-httpclient), notably the apt plugin (maybe more should use the isolatedRealm setting?)
      • Screws up the progress monitor as multiple threads are updating it

      Advantages:

      • Much faster when combined with the http wagon (WAGON-98). I was seeing 40% improvement on some test builds.

        Attachments

          Issue Links

          There are no Sub-Tasks for this issue.

            Activity

              People

              • Assignee:
                brettporter Brett Porter
                Reporter:
                mrdon Don Brown
              • Votes:
                71 Vote for this issue
                Watchers:
                28 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: