diff options
author | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-05-04 13:56:57 +0200 |
---|---|---|
committer | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-05-04 13:56:57 +0200 |
commit | 94760760bd34922e0d1a9d01aba542e4aa3781c1 (patch) | |
tree | ecd23d2ac36b05aa3a5188777c32f6d9af480571 /controller-server | |
parent | df6cd2392dbad5ebe147c803728420ac22ff079e (diff) |
Increase readability at the cost of code duplication
Diffstat (limited to 'controller-server')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java index 2d7319ae3a0..218e4489443 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java @@ -288,9 +288,9 @@ public class DeploymentTrigger { if (change.isPresent()) for (Step step : productionStepsOf(application)) { Set<JobType> stepJobs = step.zones().stream().map(order::toJob).collect(toSet()); - Map<Optional<Instant>, List<JobType>> jobsByCompletion = stepJobs.stream().collect(groupingBy(job -> completedAt(change, application, job))); - if (jobsByCompletion.containsKey(Optional.empty())) { // Step is incomplete; trigger remaining jobs if ready, or their test jobs if untested. - for (JobType job : jobsByCompletion.get(Optional.empty())) { + List<JobType> remainingJobs = stepJobs.stream().filter(job -> ! completedAt(change, application, job).isPresent()).collect(toList()); + if ( ! remainingJobs.isEmpty()) { // Step is incomplete; trigger remaining jobs if ready, or their test jobs if untested. + for (JobType job : remainingJobs) { Versions versions = versions(application, change, deploymentFor(application, job)); if (isTested(application, versions)) { if ( completedAt.isPresent() @@ -314,7 +314,7 @@ public class DeploymentTrigger { reason += " after a delay of " + delay; } else { - completedAt = jobsByCompletion.keySet().stream().map(Optional::get).max(naturalOrder()); + completedAt = stepJobs.stream().map(job -> completedAt(change, application, job).get()).max(naturalOrder()); reason = "Available change in " + stepJobs.stream().map(JobType::jobName).collect(joining(", ")); } } |