You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@continuum.apache.org by "Wendy Smoak (JIRA)" <ji...@codehaus.org> on 2010/12/06 15:33:03 UTC

[jira] Commented: (CONTINUUM-2573) Distributed builds are not distributed: they are always scheduled to the last agent defined

    [ http://jira.codehaus.org/browse/CONTINUUM-2573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=246580#action_246580 ] 

Wendy Smoak commented on CONTINUUM-2573:
----------------------------------------

A build will 'prefer' the last agent it was built on, because there's a good chance that the working copy is already available there.  This will save server resources checking it out again.

However, if that agent is busy, the build should go to the next available agent.

I'm reasonably sure I've seen this work correctly in 1.3.6, but as you've pointed out an issue in the code I'll leave this open for one of the devs to review.

Can you describe your configuration in more detail?  How many agents did you configure, are they in one or more agent groups, etc.  If you could record a Selenium test to reproduce it, that would be great.

> Distributed builds are not distributed: they are always scheduled to the last agent defined
> -------------------------------------------------------------------------------------------
>
>                 Key: CONTINUUM-2573
>                 URL: http://jira.codehaus.org/browse/CONTINUUM-2573
>             Project: Continuum
>          Issue Type: Bug
>          Components: Distributed Builds
>    Affects Versions: 1.3.6
>            Reporter: Paolo Scapin
>            Priority: Critical
>             Fix For: 1.4.2 (Beta)
>
>
> When more than one agent are available for distributed build, every build is queued to the last one defined.
> This way distributed builds are useless.
> The issue is caused by a small bug in class org.apache.continuum.builder.distributed.manager.DefaultDistributedBuildManager, in method getOverallDistributedBuildQueueByAgentGroup, where the index "idx" ios never incremented
> line 916:
> int idx = 0;
> then idx is checked to  assign the first queue
> line 932:
> if ( idx == 0 )
> {
>    whereToBeQueued = distributedBuildQueue;
>    size = agentBuildSize;
> }
> but is never incremented.
> idx should be incremented at line 953, inside the for cycle.
> A similar cycle in the next method (getOverallDistributedBuildQueue) is implemented correctly
> Please can anybody insert a fix in the next release?

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