Build Queue Error

I have a large project that consists of 35 build configurations.  We currently have 2 build agents set up and some of the build configurations can only build on one of the build agents by design due to a license for another piece of software.  The issue I am having is 30 of the build configuration consist of the following

 

Plugin Database (Can be run on either build agent)

Plugin Library (Can only be run on one build agent)

Plugin (Takes the artifacts of the Database and Library runs tests and creates a artifacts for the final build step to use.) (Can run on either agent)

 

In the build queue I can get the following

Plugin 1 Database

Plugin 1 Library

Plugin 1

Plugin 2 Database

Plugin 2 Library

Plugin 2

The problem I am having is these will all build only on the one agent that the library can be build on.  The database and Plugin which can be built on the other agent do not take advantage of it even though in the build queue it shows it can be built on either agent.

 

5 comments
Comment actions Permalink

Hello Todd,

I assume that there are no special settings like "Run build on the same agent" snapshot dependencies option and "Plugin 1 Database" can actually start on the second agent (e.g. is the first agent is already building something).

In your case, it seems that "Plugin 2 Database" should start on the second agent while the special agent is occupied by "Plugin 1" build. If it's not, that this is the case to investigate (why "Plugin 2 Database" does not start on a compatible agent when it is idle) - data noted for the queued build in it's 3 popups on the build queue page can provides some clues here.

There is indeed no logic in TeamCity currently to "understand" that the agent is special and do not assign a build on it if another agent can be used. This is filed as feature request https://youtrack.jetbrains.com/issue/TW-1528 and you can vote for it. However, we find that this ability is rarely critical as production servers usually do not have idle agents, so not much time is "wasted".

0
Comment actions Permalink

The "Run Build On the Same Agent" is not selected.

When all of the build show up in the queue they queue does show that the Plugin Libraries can only be built on one of the two agents.  The Database and the main Plugin which puts the database artifacts with the plugin library artifacts and runs some tests both show they can run on both agents.  But when they just keep getting run on the one agent the plugin library can be run on.

0
Comment actions Permalink

> But when they just keep getting run on the one agent the plugin library can be run on.

Could you please check the moment when "Plugin 1" runs on the special agent and "Plugin 2 Database" is waiting in the queue with the second agent idle.

What is the content of the all 3 popups on the queued "Plugin 2 Database" build?

0
Comment actions Permalink

I know this is an old topic but has any work been done to make the build queues smarter?  I have 3 build agents currently and only one is getting used.  Some of the projects can only be built on that agent but the others could be built on any of the 3 agents.  But with the last build which consisted of 24 projects they all were built on the one agent that some of the projects can only be built on.

0
Comment actions Permalink

Hi Todd,

Unfortunately, the case you desribe did not get any improvements on TeamCity side lately. You can watch related issue if you like.

0

Please sign in to leave a comment.