-
Bug
-
Resolution: Fixed
-
Minor
See https://github.com/jenkinsci/jenkins/pull/1649
In summary: JnlpAgentReceiver is documented as returning true after calling handshake.error() in case of failure to indicate that the receiver DID claim this node but had issues, but DefaultJnlpSlaveReceiver returns false.
https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/jenkins/slaves/JnlpSlaveAgentProtocol2.java#L56-61 loops over all receivers until one claims it, so this is giving other receivers a chance at a node they shouldn't grab since the receiver wanted it but couldn't grab it.
Assuming no others do, it also then continues on and gives the erroneous log message about not recognizing the node's name.
- links to
Code changed in jenkins
User: Oleg Nenashev
Path:
core/src/main/java/jenkins/slaves/DefaultJnlpSlaveReceiver.java
core/src/test/java/jenkins/slaves/DefaultJnlpSlaveReceiverTest.java
http://jenkins-ci.org/commit/jenkins/9a3e5518baa044ce2fedf25af73490d58b0d3976
Log:
Merge pull request #1649 from deadmoose/follow_the_api_rules
[FIXED JENKINS-27939] - DefaultJnlpSlaveReceiver should return true when rejecting a takeover.
Compare: https://github.com/jenkinsci/jenkins/compare/056fe9a30901...9a3e5518baa0