timja / jenkins-gh-issues-poc-06-18

0 stars 0 forks source link

[JENKINS-25863] Jenkins tries to build jobs on nodes that are removed #5677

Open timja opened 9 years ago

timja commented 9 years ago

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()


Originally reported by stephenconnolly, imported from: Jenkins tries to build jobs on nodes that are removed
  • status: Open
  • priority: Minor
  • resolution: Unresolved
  • imported: 2022/01/10
timja commented 5 years ago

stephenconnolly:

Removing myself as assignee. My current work assignments do not provide sufficient bandwidth to review these issues and in the majority of cases I am only assigned by virtue of being the default assignee. For the credentials-api and scm-api related plugins I have permission to allocate time reviewing changes to these APIs themselves to ensure these APIs remain cohesive, but that can be handled through PR reviews rather than assigning issues in JIRA