Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major 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.

        Issue Links

          Activity

          Don Brown created issue -
          mrdon@twdata.org made changes -
          Field Original Value New Value
          Attachment parallel-resolution-2.diff [ 32206 ]
          mrdon@twdata.org made changes -
          Attachment parallel-resolution-3.diff [ 32220 ]
          Brett Porter made changes -
          Assignee Brett Porter [ brettporter ]
          Brett Porter made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          Brian Fox made changes -
          Link This issue is duplicated by MNG-3204 [ MNG-3204 ]
          Brett Porter made changes -
          Fix Version/s 2.1 [ 13142 ]
          Brian Fox made changes -
          Fix Version/s 2.0.11 [ 14118 ]
          Fix Version/s 2.1 [ 13142 ]
          Brett Porter made changes -
          Link This issue is duplicated by MNG-3739 [ MNG-3739 ]
          Brett Porter made changes -
          Fix Version/s 2.0.11 [ 14118 ]
          Fix Version/s 2.1.0-M4 [ 14589 ]
          John Casey made changes -
          Fix Version/s 2.1.0-M2 [ 14587 ]
          Fix Version/s 2.1.0-M4 [ 14589 ]
          Brett Porter made changes -
          Resolution Fixed [ 1 ]
          Status In Progress [ 3 ] Closed [ 6 ]
          John Casey made changes -
          Status Closed [ 6 ] Reopened [ 4 ]
          Resolution Fixed [ 1 ]
          Brett Porter made changes -
          Resolution Fixed [ 1 ]
          Status Reopened [ 4 ] Closed [ 6 ]
          Brett Porter made changes -
          Status Closed [ 6 ] Reopened [ 4 ]
          Resolution Fixed [ 1 ]
          Brett Porter made changes -
          Resolution Fixed [ 1 ]
          Status Reopened [ 4 ] Closed [ 6 ]
          Wendy Smoak made changes -
          Link This issue is depended upon by MNG-3004 [ MNG-3004 ]
          Benjamin Bentmann made changes -
          Link This issue relates to MNG-4179 [ MNG-4179 ]
          Benjamin Bentmann made changes -
          Link This issue relates to MNG-4432 [ MNG-4432 ]
          Mark Thomas made changes -
          Project Import Sun Apr 05 08:49:45 UTC 2015 [ 1428223785911 ]
          Mark Thomas made changes -
          Workflow jira [ 12713807 ] Default workflow, editable Closed status [ 12753576 ]
          Mark Thomas made changes -
          Patch Submitted Yes [ 10763 ]
          Flags Patch [ 10430 ]
          Mark Thomas made changes -
          Project Import Sun Apr 05 21:45:26 UTC 2015 [ 1428270326204 ]
          Mark Thomas made changes -
          Workflow jira [ 12953210 ] Default workflow, editable Closed status [ 12989088 ]

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development