Code changed in jenkins
User: Stephen Connolly
Path:
core/src/main/java/jenkins/model/Nodes.java
http://jenkins-ci.org/commit/jenkins/d2276c3c9b16fd46a3912ab8d58c418e67d8ce3e
Log:
JENKINS-31055 Note theoretical race condtion
Seems rather unlikely, but none the less it is a possibility. Not sure how we should handle this though:
- We do not want to hold the Queue lock while performing I/O as that will grind everything to a halt
- We do not want a big fat lock on all nodes
- If we have a per-node lock then the save everything method may have to grab them all
In short, it gets ugly real fast.
For now, I believe that the risk is very low as releasing a lock does not intrinsically deschedule a currently running thread so the likely course of events is that the thread will release the lock and at least start the save before a competing thread could acquire the lock update remove the node release the lock and delete the node's directory
Code changed in jenkins
User: Stephen Connolly
Path:
core/src/main/java/jenkins/model/Nodes.java
http://jenkins-ci.org/commit/jenkins/8645978bfbe272a494d2bc65cf47104255cfb3fb
Log:
JENKINS-31055Finessing the exception handling