summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorJon Marius Venstad <jvenstad@yahoo-inc.com>2018-05-04 13:56:57 +0200
committerJon Marius Venstad <jvenstad@yahoo-inc.com>2018-05-04 13:56:57 +0200
commit94760760bd34922e0d1a9d01aba542e4aa3781c1 (patch)
treeecd23d2ac36b05aa3a5188777c32f6d9af480571 /controller-server
parentdf6cd2392dbad5ebe147c803728420ac22ff079e (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.java8
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(", "));
}
}