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:
changelog.html
core/src/main/java/hudson/model/Computer.java
core/src/main/java/hudson/model/Node.java
core/src/main/java/jenkins/model/Jenkins.java
core/src/main/java/jenkins/model/Nodes.java
http://jenkins-ci.org/commit/jenkins/e4b1aab4acab93d638624c7705cfe6eea2d01786
Log:
[FIXED JENKINS-31055] Make Node implement Saveable