Concurrent buddy builds

Mar 6, 2009 at 3:48 PM
I thought that the buddy build would serialize the execution of the builds, but today I had a build failure because two builds were running at the same time, using the same DB.
Is there any way I can prevent this from happening?
Mar 6, 2009 at 3:55 PM
When builds are queued, they are only serialized on the same build agent. Team Build actually manages that. If you queue two builds against a pool of agents, the builds can be running concurrently on two different agents. Is this the case you are describing, or are you referring to the builds being executed concurrently on the same build agent? I would like to better understand the context of the problem to see if we can find a good solution. Thanks. -M
Mar 6, 2009 at 6:52 PM
We have only one build agent.
After looking at the failure we discovered that the Start/End time of two buddy builds were overlapping.
We restarted one failing buddy build and it just worked fine.
This is the first time it happens and we didn't try to reproduce it.
Mar 6, 2009 at 7:00 PM
This is very interesting. If you do run into this again, please try and collect the logs. I think the Team Build team might be very interested in this case.
Mar 6, 2009 at 7:47 PM
Edited Mar 6, 2009 at 8:07 PM
I'm really sorry for the confusion. While I was reviewing my build mail notifications, I just realized that my buddy builds were assigned to 2 distinct build machines!
I have indeed 2 machines, but we are only using one for the moment as we have communication problems between Windows Server 2008 (build1) and our TFS server.
So, I like the idea of the agent pooling, but how can I disable it for the moment?

Global Build Foo - 1.1.449.2 partially succeeded
Build Number: Foo - 1.1.449.2
Build Agent: \Global\build2
Build Definition: \Global\Foo-Buddy
Build started by: X\tfsservice (on behalf of: X\y)
Build Start Time: 2009-03-06 11:12:20
Build Finish Time: 2009-03-06 11:19:36


Global Build Foo - 1.1.449.3 partially succeeded
Build Number: Foo - 1.1.449.3
Build Agent: \Global\build1
Build Definition: \Global\Foo-Buddy
Build started by: X\tfsservice (on behalf of: X\z)
Build Start Time: 2009-03-06 11:14:11
Build Finish Time: 2009-03-06 11:21:04

Mar 6, 2009 at 8:01 PM
You can either uncheck the check box on the form, or even better, set the "Default Use Build Agent Pooling" setting to False in Miscellaneous node so that the check box will be always unchecked by default.