diff options
author | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-08-30 13:54:37 +0200 |
---|---|---|
committer | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-08-30 13:54:37 +0200 |
commit | 20f46dfeba3d43f8a2ff5f69b892370496ddf2b3 (patch) | |
tree | 411531c7fe4ef89efc689666fdd78d267e2f9e8c /controller-server | |
parent | 40a34ee7fa6d2d46419908cab8e2a751ddb5c29e (diff) |
More abortion fix
Diffstat (limited to 'controller-server')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/JobRunner.java | 10 |
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. */ |