[ 
http://jira.codehaus.org/browse/MNG-3379?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=147819#action_147819
 ] 

John Casey commented on MNG-3379:
---------------------------------

Hi Don,

(reposting my email to you here).

{noformat}
I was wondering if you could help us get this feature ready for introduction 
into Maven 2.1.0. We're putting together a release plan for it right now at:

http://docs.codehaus.org/display/MAVEN/Maven+2.1.0+Release+Plan

As you can see, things have changed WRT the versioning in Maven's future. The 
former 2.1 code - on trunk - has been renamed to 3.0-SNAPSHOT since it contains 
extensive changes, and we've decided to introduce some intermediary releases 
that will incorporate less risky new features such as parallel downloads that 
don't fit on the 2.0.x codeline appropriately. We're also going to be putting 
2.0.x in end-of-life mode very soon.

I've heard good things about your patch for parallel downloads, but since I'm 
trying to push to make sure we have adequate documentation and tests for 
everything new that goes into Maven, we're still coming up short on this 
feature.

Can you provide us with a small design document just laying out the problem you 
solved, including scoping (for instance discussion about groupId limitations, 
and maybe any known issues on CI systems where multiple Maven processes may be 
sharing a single local repository with large numbers of parallel downloads 
happening simultaneously) and a short blurb describing your solution.

Also, we need to create some tests that we can use to guard against regressions 
in the future. Since you know this code the best, it'd be very helpful if you 
could help us design some test cases that might verify key pieces of the code 
to make sure nothing is broken (for instance, nothing that might introduce 
threading problems or file-locking issues).

If you can provide some of this information, it will allow us to put this 
feature into 2.1.0. Otherwise, I'm not sure whether we have the resource-hours 
available to grok the code, reconstruct the design decisions you took, and come 
up with adequate tests.
{noformat}

> Parallel resolution of artifacts
> --------------------------------
>
>                 Key: MNG-3379
>                 URL: http://jira.codehaus.org/browse/MNG-3379
>             Project: Maven 2
>          Issue Type: New Feature
>          Components: Artifacts and Repositories
>    Affects Versions: 2.0.8
>            Reporter: Don Brown
>            Assignee: Brett Porter
>             Fix For: 2.0.11
>
>         Attachments: parallel-resolution-2.diff, parallel-resolution-3.diff, 
> parallel-resolution.diff
>
>
> 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.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to