Status: Resolved (View Workflow)
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
Merge pull request #1649 from deadmoose/follow_the_api_rules
[FIXED JENKINS-27939] - DefaultJnlpSlaveReceiver should return true when rejecting a takeover.