From 83b48e9ebf2060780fd9675e6019fd0083fa2d95 Mon Sep 17 00:00:00 2001 From: Jon Marius Venstad Date: Thu, 24 Sep 2020 11:21:31 +0200 Subject: Count prod deployments as relevant (to not abort) when same targets --- .../yahoo/vespa/hosted/controller/deployment/DeploymentTrigger.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'controller-server/src') 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 d39e0c134fd..709064c8715 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 @@ -107,7 +107,9 @@ public class DeploymentTrigger { Map> newJobsToRun = jobs.deploymentStatus(application.get()).jobsToRun(); for (Run run : jobs.active(application.get().id().instance(instanceName))) { if ( ! run.id().type().environment().isManuallyDeployed() - && ! newJobsToRun.getOrDefault(run.id().job(), List.of()).contains(run.versions())) + && newJobsToRun.getOrDefault(run.id().job(), List.of()).stream() + .noneMatch(versions -> versions.targetsMatch(run.versions()) + && versions.sourcesMatchIfPresent(run.versions()))) jobs.abort(run.id()); } } -- cgit v1.2.3 From 8c6369d5c14cc3c7e7504ffdeb14f07566870364 Mon Sep 17 00:00:00 2001 From: Jon Marius Venstad Date: Thu, 24 Sep 2020 11:21:42 +0200 Subject: Increase readability --- .../java/com/yahoo/vespa/hosted/controller/deployment/Versions.java | 4 ++-- .../java/com/yahoo/vespa/hosted/controller/maintenance/JobRunner.java | 2 +- .../vespa/hosted/provision/persistence/CuratorDatabaseClient.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'controller-server/src') diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Versions.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Versions.java index 7a0349d7737..a05b3425a01 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Versions.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Versions.java @@ -58,9 +58,9 @@ public class Versions { /** Returns whether source versions are present and match those of the given job other versions. */ public boolean sourcesMatchIfPresent(Versions versions) { - return (sourcePlatform.filter(version -> ! version.equals(targetPlatform)).isEmpty() || + return (sourcePlatform.map(targetPlatform::equals).orElse(true) || sourcePlatform.equals(versions.sourcePlatform())) && - (sourceApplication.filter(version -> ! version.equals(targetApplication)).isEmpty() || + (sourceApplication.map(targetApplication::equals).orElse(true) || sourceApplication.equals(versions.sourceApplication())); } 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 e0f2f0718ef..e5ee06f81dd 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 @@ -74,7 +74,7 @@ public class JobRunner extends ControllerMaintainer { /** Advances each of the ready steps for the given run, or marks it as finished, and stashes it. Public for testing. */ public void advance(Run run) { if ( ! run.hasFailed() - && run.start().isBefore(controller().clock().instant().minus(jobTimeout))) { + && controller().clock().instant().isAfter(run.start().plus(jobTimeout))) { jobs.abort(run.id()); advance(jobs.run(run.id()).get()); } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java index 504854108b6..1f0a0310378 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java @@ -290,7 +290,7 @@ public class CuratorDatabaseClient { } /** - * Returns a particular node, or empty if this noe is not in any of the given states. + * Returns a particular node, or empty if this node is not in any of the given states. * If no states are given this returns the node if it is present in any state. */ public Optional readNode(CuratorDatabase.Session session, String hostname, Node.State ... states) { -- cgit v1.2.3