Issue Type: Bug Bug
Assignee: stephenconnolly
Components: core
Created: 02/Dec/14 12:15 PM
Description:

Executor#isIdle() can return true when an executor is not actually idle as it tests against the executable field while the true determination of idleness is from the workUnit field as once that is non-null the Executor is committed to execution of the work unit. The executable field only becomes non-null after a lock on Queue has been established.

Thus retention strategies can end up removing a node while the Executor is awaiting a lock on Queue and then the build fails without ever having been started. While retention strategies should only perform idle checks when holding a lock on the Queue this does not help the problem as the root cause is the incorrect reporting of state in Executor#isIdle()

Project: Jenkins
Labels: core
Priority: Minor Minor
Reporter: stephenconnolly
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

--
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to