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

Nigel Magnay commented on MNG-3004:
-----------------------------------

> I've heard hudson already does parallel builds with maven. Anyone knows how 
> they handle this problem?

It doesn't.

Hudson initially *only* built in parallel with the native m2 support; compiling 
serially (like the commandline) was only added later when it was clear that for 
many projects, parallel compilation breaks, basically, all the time.

What's even worse (from an m2 perspective) is that, because the local 
repository is not thread- or process- safe, there is a "Use Private Maven 
Repository" option so that each project has its own, private local repo. Fixes 
the problem, but this means for us we've something approaching 200Gb of 
duplicated jar files sitting around in various directories. Yuck.

This is known about - see 
http://docs.codehaus.org/display/MAVEN/Local+repository+separation . 

The simple fact of the matter is that the local repository _ought_ to be 
threadsafe (either inherently by design, or through some kind of use of 
locking) but it isn't. Hacks that don't address that fundamental issue aren't 
really fixing the problem, IMO.


> Allow build lifecycle to execute tasks in parallel
> --------------------------------------------------
>
>                 Key: MNG-3004
>                 URL: http://jira.codehaus.org/browse/MNG-3004
>             Project: Maven 2
>          Issue Type: Improvement
>          Components: Bootstrap & Build, General, Performance
>    Affects Versions: 2.0.6
>            Reporter: Nigel Magnay
>             Fix For: 2.2.0-M1
>
>         Attachments: parallel-builds.patch
>
>
> One of the great advantages with maven over scripted build environments is 
> that it can calculate the dependencies of the build, and it could execute 
> items that are independent of each other in parallel.
> Unfortunately it currently doesn't do this, which would be a big win over 
> tools such as 'ant'. It also means that multicore machines have lots of idle 
> capacity when running a serial build that could be utilised.
> I had a quick shot at seeing what might be required. Bear in mind this is the 
> first time I have looked at maven internally, and I was just trying to feel 
> my way around and build a POC. I got some of the way there, but my build 
> threads don't seem to have the correct classpath - I think this is something 
> to do with plexus / classworlds - but I don't know enough.
> It'd be great to get this feature in a future version, or a way of running my 
> hack (figuring out why in a thread has not the plexus stuff) in the interim.

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