-
Bug
-
Resolution: Fixed
-
Major
-
None
The call to r.getExecutor().getOwner().disconnect() in vSphereCloudSlave causes vSphereCloudLauncher's afterDisconnect() to be called twice, on separate threads. This means, for instance, that a VM configured to shutdown and revert after a disconnect will do so twice.
This appears to be an issue with Jenkins itself.
A temporary fix on my side is the use of an AtomicBoolean to prevent the afterDisconnect from executing its logic twice. Would this be considered an acceptable patch?
- is duplicated by
-
JENKINS-35272 Launcher's afterDisconnect() method is called twice
-
- Open
-
Looked into it: calling r.getExecutor().getOwner().getChannel().close() instead of r.getExecutor().getOwner().disconnect() fixes this issue. It's a more "brutal" method, but it works.
I can submit a pull request with this and some other changes tonight, to be reviewed.