Bug 1894: TFS Integrator fails to kick off one or more builds when more than one are triggered.

This is a bug on TFS Integrator that I just logged on our internal TFS installation. I thought that I would post it here for those that have started using TFS. We will get a fix out for this soon – we may take the opportunity to use Windows Workflow Foundation (now that it is stable) so it could take a few weeks before someone has the time available. Bug follows.

I suspect that Team Build is the problem here in that it doesn’t support queuing on its side of the fence. I uncovered this with the CrmOnTime project. The CrmOnTime project consists of three seperate builds CrmOnTimeCommon, CrmOnTime and CrmOnTimeServices. When CrmOnTimeCommon builds dependencies are replicated to the other two projects. If these projects kick off their builds at the same time they seem to fail if they are using the same build server. If they each kick off on a different build server then there is no problem.

Unfortunately we still have to implement the fix in our code because we are a Continuous Integration engine our users should rightfully expect not to have to run multiple build servers just to get multiple dependent builds kicking off – we just need to queue the requests. I’m thinking that moving forward we should replace the internal state management with an event driven workflow or something like that.

Temporary Workarounds:

Structure the sleep periods such that you allow one build to complete before the other gets kicked off – or use multiple build servers.

4 thoughts on “Bug 1894: TFS Integrator fails to kick off one or more builds when more than one are triggered.

  1. Daniel Lesser

    One thing to note about the permissions on the account in case anyone comes across it, will get a System.ServiceModel.AddressAccessDeniedException: HTTP could not register URL http://+:8000 error if doesn’t meet the WCFs permissions minimum (even if has write permission on TFS Integrator Directory). Made the domain account for the build machine admin and it worked, but probably could lower priviledge level.

    Trying out the software now. Great work! Seems easier than MS’ example.

  2. Mitch Denny Post author

    Hi Don,

    We believe that its a problem with the fact that the check-in notification doesn’t contain a list of all the files changed. We have built a new CI engine that we are considering releasing which doesn’t use the event model in TFS, but given that TFS 2008 is just around the corner it may not be worth it.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s