Status: Closed (View Workflow)
Jenkins 1.573, matrix-project 1.2, prioritysorter 2.8, throttle-concurrents 1.8.3
Not sure when the behaviour changed, but the parent job used to take an extra "free" slot. Now it's taking an actual slot, which can end up being the only slot that one of its children can use, leading to an effective deadlock.
- is duplicated by
JENKINS-23702 Matrix jobs consuming executors after upgrading to 1.570
- is related to
JENKINS-13619 Add ability to throttle number of concurrent builds of matrix configurations per node
No, but it should be defaulting to "true". Unless that's what changed and the wiki page is out of date?
Are you using a plugin that changes how the queue or executor assignment work? (When in doubt, post your entire plugin list)
Is this happening regularly or just in special circumstances? Can you reproduce the problem on a pristine Jenkins instance?
Yeah, it could be a few plugins actually. I'll see what I can reproduce with.
Throttle Concurrent Builds plugin seems to be responsible.
Closing as Fixed.
Please reopen if upgrading to throttle-concurrents-1.8.4 does not resolve the issue
Upgrading to throttle-concurrents-1.8.4 did fix it.
However, something has broken it again.
Now on Jenkins 1.590, throttle-concurrents-1.8.4, matrix-project-1.4, priority-sorter-2.9.
I thought it was a 1.590->1.593 update, but downgrading didn't resolve it.
Odd. With no apparent changes to config or plugins, they started using flyweight executors again.
I saw that happen when the slave node the job should have run on was down at that time and the matrix job was queued.
There have been fixes to the queue behavior until 1.610. That version or higher would be needed for any follow-up issue to make sense.
Did you set hudson.model.Hudson.flyweightSupport (see https://wiki.jenkins-ci.org/display/JENKINS/Features+controlled+by+system+properties )?