diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2021-03-16 16:34:35 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2021-03-16 16:34:35 +0100 |
commit | 8c82a846442125f3b2aeb3604f4f35947fd71103 (patch) | |
tree | a68a1a7bb3c251c8f093d24de478c4db90a65f1d | |
parent | 37befcebff603aed9e984711097d855a43c3ab1c (diff) |
Read all deployment job data only when needed
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java | 11 |
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")); } |