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

Parallel resolution of artifacts

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.8
    • 2.1.0
    • None
    • 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

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            brett Brett Porter
            mrdon Donald J. Brown
            Votes:
            71 Vote for this issue
            Watchers:
            28 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment