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