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

Brett Porter commented on MNG-3379:
-----------------------------------

the only potential problem I could find under current usage is the one 
triggered here, which is a bug in Plexus but can be externally synchronized. 
This wouldn't have tripped Don up as his branch was taken before the additional 
component configuration step was taken (for setting the HTTP headers).

I'm working on a test case in Maven for this and will then synchronize it 
properly.

Other potential problem spots: a number of configuration maps in 
DefaultWagonManager that are only modified on initialization (if they were 
modified during a multithreaded scenario there'd be a problem). Also, the 
repository list passed in to the resolution must not be modifiable as it isn't 
cloned.

> 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.1.0
>
>         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