aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorJon Marius Venstad <jvenstad@yahoo-inc.com>2018-08-30 13:54:37 +0200
committerJon Marius Venstad <jvenstad@yahoo-inc.com>2018-08-30 13:54:37 +0200
commit20f46dfeba3d43f8a2ff5f69b892370496ddf2b3 (patch)
tree411531c7fe4ef89efc689666fdd78d267e2f9e8c /controller-server
parent40a34ee7fa6d2d46419908cab8e2a751ddb5c29e (diff)
More abortion fix
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/JobRunner.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/JobRunner.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/JobRunner.java
index 034f1405d75..694ff96a0e2 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/JobRunner.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/JobRunner.java
@@ -69,12 +69,14 @@ public class JobRunner extends Maintainer {
/** Advances each of the ready steps for the given run, or marks it as finished, and stashes it. */
private void advance(Run run) {
if ( ! run.hasFailed()
- && run.start().isBefore(controller().clock().instant().minus(jobTimeout)))
+ && run.start().isBefore(controller().clock().instant().minus(jobTimeout))) {
jobs.abort(run.id());
- List<Step> steps = run.readySteps();
- if (steps.isEmpty())
+ advance(jobs.run(run.id()).get());
+ }
+ else if (run.readySteps().isEmpty())
jobs.finish(run.id());
- steps.forEach(step -> executors.execute(() -> advance(run.id(), step)));
+ else
+ run.readySteps().forEach(step -> executors.execute(() -> advance(run.id(), step)));
}
/** Attempts to advance the status of the given step, for the given run. */