Due to an unidentified problematic reserved build, one of our build agent stops to function properly. Although the build agent is obviously with a Ready state and not running any workflows (the build tasks), it simply doesn’t give any responses to the build service. Hence any queued builds failed to start. So I tried to delete all the build agents/controllers under my control and rebuild them all from scratch. However, I failed to do that due to the same problem you can find in this post. http://sleepcanwait.blogspot.com/2010/07/cannot-remove-build-agent-from-build.html.
The solution in that post sounds like very straightforward; however, I can’t use it because I simply have no access to the data tier.
So I tried to rename the controller/agents to resolve this issue. This makes sense, right? considering the names must be something Key related in the data tier. If we can rename them, then they should not be treated as reserved anymore.
It turns out my guess was right. After renaming the names for the controller and agents, I can successfully delete them and rebuild them.
Now the build runs again like a charm.
Why the problematic reserved build is still an interesting question, though.