build agent cannot be removed due to problematic reserved build

Due to an unidentified problematic reserved build, one of our build engine stops to function properly. Although build agent is obviously with a Ready state and not running any workflows (aka builds), 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 because of the same problem you can find in this post. https://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 treated as reserved anymore.

It turns out my guess was right. After renamed the names for the controller and agents, I can successfully delete them and rebuild them again.

Now the build runs like a charm.

Why the problematic reserved build is still an interesting question, though.