diff --git a/core/src/main/java/hudson/node_monitors/AbstractNodeMonitorDescriptor.java b/core/src/main/java/hudson/node_monitors/AbstractNodeMonitorDescriptor.java index ff457ffed0beedd0cd3e8b39247142ba7f9e22a3..3875eb12a88225ffd539b4d983642eff6dac38f7 100644 --- a/core/src/main/java/hudson/node_monitors/AbstractNodeMonitorDescriptor.java +++ b/core/src/main/java/hudson/node_monitors/AbstractNodeMonitorDescriptor.java @@ -170,12 +170,7 @@ public abstract class AbstractNodeMonitorDescriptor extends Descriptor extends Descriptor inProgressStarted + getMonitoringTimeOut() + 1000) { + if (!inProgress.isAlive()) { + LOGGER.log(Level.WARNING, "Previous {0} monitoring activity died without cleaning up after itself", + getDisplayName()); + inProgress = null; + } else if (System.currentTimeMillis() > inProgressStarted + getMonitoringTimeOut() + 1000) { // maybe it got stuck? LOGGER.log(Level.WARNING, "Previous {0} monitoring activity still in progress. Interrupting", getDisplayName());