[Buildbot-devel] Buildbot cannot use all build slaves

Jared Grubb jared.grubb at gmail.com
Thu Jan 24 05:24:52 UTC 2013


I've JUST posted the patches for review on github. However, it's still in the review process, so there's no guarantee what the patch will look like by the time it gets merged! 

If you want to test the patch as it is currently, you can get my branch here; I have been using it on my buildbots locally, and havent had any issues, but it is in review. Ok, enough caveats :)
https://github.com/jaredgrubb/buildbot/tree/BuildChooser

Jared

On 23 Jan 2013, at 11:42, Chen Yingliu <chenyingliu at gmail.com> wrote:

> Hi, Jared Grubb,
>    I've tried set MergeRequestFn to False but it didn't fix the scheduling problem. Could you tell me where is your diff so I can try it?
> 
> Thanks
> Yingliu
> 
> 
> On Sat, Jan 5, 2013 at 3:19 PM, Jared Grubb <jared.grubb at gmail.com> wrote:
> FYI: I have a patch to fix that behavior: to have buildbot prefer slaves that can grab required locks to those that cant. It should be in the next release of buildbot.
> 
> Jared
> 
> On 3 Jan 2013, at 10:18, Mike Sorrenti <mikesorrenti at gmail.com> wrote:
> 
>> Chen,
>> 
>> I would recommend looking into the Builder's nextSlave attribute. You'll find that the master chooses a slave at random if a callable isn't provided, see https://github.com/buildbot/buildbot/blob/buildbot-0.8.7/master/buildbot/process/builder.py#L584. This random choice may sometimes mean multiple builds on some slaves while others sit idle.
>> 
>> Best, 
>> Mike
>> 
>> 
>> On Wed, Jan 2, 2013 at 9:08 PM, Chen Yingliu <chenyingliu at gmail.com> wrote:
>> Thanks for the hint. Let me try to see if disable merging request alleviate the problem.
>> 
>> 
>> On Wed, Jan 2, 2013 at 7:38 PM, Dustin J. Mitchell <dustin at v.igoro.us> wrote:
>> On Wed, Jan 2, 2013 at 8:31 PM, Chen Yingliu <chenyingliu at gmail.com> wrote:
>> > One weird thing is BuildRequestDistributor._activityLoop() take more than
>> > 100 seconds, I suppose this should run fast ? However I don't quite get the
>> > buildbot scheduling logic even after read the code for a while. Any one can
>> > help figure out the reason why _activityLoop() took more than 100 seconds
>> > and why not all build slave are used?
>> 
>> The _activityLoop loops until the queue of pending builders is empty.
>> If build requests are arriving quickly enough, the 'while 1' loop it
>> contains will keep looping.  So that metric isn't the most helpful.
>> 
>> Do you have mergeRequests enabled?  That's a particularly slow
>> operation, especially if the request queues are long.
>> 
>> Dustin
>> 
>> 
>> 
>> -- 
>> Chen Yingliu
>> 
>> ------------------------------------------------------------------------------
>> Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
>> MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
>> with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
>> MVPs and experts. ON SALE this month only -- learn more at:
>> http://p.sf.net/sfu/learnmore_122712
>> _______________________________________________
>> Buildbot-devel mailing list
>> Buildbot-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/buildbot-devel
>> 
>> 
>> ------------------------------------------------------------------------------
>> Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
>> MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
>> with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
>> MVPs and experts. ON SALE this month only -- learn more at:
>> http://p.sf.net/sfu/learnmore_122712_______________________________________________
>> Buildbot-devel mailing list
>> Buildbot-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/buildbot-devel
> 
> 
> 
> 
> -- 
> Chen Yingliu

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20130123/0f6b910d/attachment.html>


More information about the devel mailing list