I'm not sure this is a bug, but I want to file it anyway: We have a declarative pipeline where we need to restart one of the nodes and continue in a later stage. So in this node we do bat 'shutdown /s /t 30 & exit 0' The next step uses the same node. Before updating some plugins and or jenkins (I assume the jenkins plugins) it behaved like this: When trying to run the following stage on this node, the node is not connected yet, jenkins
is
Still waiting to schedule task
'<nodename>' is offline
and then after it started and connected it schedules the task and finishes the stage successfully. after the update it immediately fails with:
<node> was marked offline: Connection was broken: java.nio.channels.ClosedChannelException
at org.jenkinsci.remoting.protocol.NetworkLayer.onRecvClosed(NetworkLayer.java:154)
at org.jenkinsci.remoting.protocol.impl.NIONetworkLayer.ready(NIONetworkLayer.java:179)
at org.jenkinsci.remoting.protocol.IOHub$OnReady.run(IOHub.java:795)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
I solved this with adding a sleep to wait for the machine to be online again, but is there a better solution? |