summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorJon Marius Venstad <jonmv@users.noreply.github.com>2020-01-09 14:05:55 +0100
committerGitHub <noreply@github.com>2020-01-09 14:05:55 +0100
commitbdade3d81383517b364c4e7034316e018ae536fd (patch)
tree3525eeb46707f7981840f9592eab80fac38b0f18 /controller-server
parent9a16e95693f9c2c15bbe8ace8e4f4b264fe508ef (diff)
parent3f9654964077f5708436c4379c28fc3e159a50bd (diff)
Merge pull request #11722 from vespa-engine/mpolden/improve-deployment-v1-performance
Avoid re-reading version status for every application
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java9
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/VersionStatusSerializer.java1
2 files changed, 7 insertions, 3 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java
index f9ad2ebf553..acfd326a5c0 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java
@@ -296,19 +296,24 @@ public class JobController {
/** Returns the deployment status of the given application. */
public DeploymentStatus deploymentStatus(Application application) {
+ return deploymentStatus(application, controller.systemVersion());
+ }
+
+ private DeploymentStatus deploymentStatus(Application application, Version systemVersion) {
return new DeploymentStatus(application,
DeploymentStatus.jobsFor(application, controller.system()).stream()
.collect(toUnmodifiableMap(job -> job,
job -> jobStatus(job))),
controller.system(),
- controller.systemVersion(),
+ systemVersion,
controller.clock().instant());
}
/** Adds deployment status to each of the given applications. */
public DeploymentStatusList deploymentStatuses(ApplicationList applications) {
+ var systemVersion = controller.systemVersion();
return DeploymentStatusList.from(applications.asList().stream()
- .map(this::deploymentStatus)
+ .map(application -> deploymentStatus(application, systemVersion))
.collect(toUnmodifiableList()));
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/VersionStatusSerializer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/VersionStatusSerializer.java
index 366e2c9af4b..53f2d467e2d 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/VersionStatusSerializer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/VersionStatusSerializer.java
@@ -44,7 +44,6 @@ public class VersionStatusSerializer {
private static final String isReleasedField = "isReleased";
private static final String deploymentStatisticsField = "deploymentStatistics";
private static final String confidenceField = "confidence";
- private static final String configServersField = "configServerHostnames";
// NodeVersions fields
private static final String nodeVersionsField = "nodeVersions";