Kohsuke Kawaguchi created JENKINS-13581:
-------------------------------------------

             Summary: Race condition between RetentionStrategy and Executor
                 Key: JENKINS-13581
                 URL: https://issues.jenkins-ci.org/browse/JENKINS-13581
             Project: Jenkins
          Issue Type: Bug
          Components: core
            Reporter: Kohsuke Kawaguchi


{{RetentionStrategy}} doesn't really get any stop-the-world consistent view of 
the world when it makes a decision to terminate the node, and from there to the 
actual termination of the node, the rest of the world can also change. More 
specifically, an {{Executor}} can go from idle to busy.

This ends up aborting the build that's newly started, as the node is removed 
and executors interrupted. This isn't a fatal problem, but it's an annoyance.

Because we generally do not restrict how {{RetentionStrategy}} makes a 
decision, we cannot really stop the world for it. But it seems prudent to hold 
executors still (at least no idle->busy transition) while the check is done --- 
either the core will do so before calling into the {{check}} method, or make it 
easy for {{RetentionStrategy}} to do so if it wants.



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to