aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-03-16 16:34:35 +0100
committerJon Marius Venstad <venstad@gmail.com>2021-03-16 16:34:35 +0100
commit8c82a846442125f3b2aeb3604f4f35947fd71103 (patch)
treea68a1a7bb3c251c8f093d24de478c4db90a65f1d /controller-server
parent37befcebff603aed9e984711097d855a43c3ab1c (diff)
Read all deployment job data only when needed
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
index 53f667bccef..96fcb1d7f56 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
@@ -2028,14 +2028,17 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
}
// TODO jonmv: This should list applications, not instances.
Cursor applicationArray = object.setArray("applications");
- for (com.yahoo.vespa.hosted.controller.Application application : applications) {
- DeploymentStatus status = controller.jobController().deploymentStatus(application);
+ for (Application application : applications) {
+ DeploymentStatus status = null;
for (Instance instance : showOnlyProductionInstances(request) ? application.productionInstances().values()
: application.instances().values())
- if (recurseOverApplications(request))
+ if (recurseOverApplications(request)) {
+ if (status == null) status = controller.jobController().deploymentStatus(application);
toSlime(applicationArray.addObject(), instance, status, request);
- else
+ }
+ else {
toSlime(instance.id(), applicationArray.addObject(), request);
+ }
}
tenantMetaDataToSlime(tenant, applications, object.setObject("metaData"));
}