diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2021-03-17 17:04:19 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2021-03-17 17:04:19 +0100 |
commit | fb917b6b2694a73a94b5a5737f1d5e553aa4d2f3 (patch) | |
tree | 9d889f705fe34b1a98fdd7387e3e799e986efb7b /controller-server | |
parent | 764f5ac4b47b2d4c9dde33bee4f4d015a1d73f61 (diff) |
If current dev deployments exist, use its timestamp, to avoid reading job data
Diffstat (limited to 'controller-server')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java | 22 |
1 files changed, 14 insertions, 8 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 323101088cd..df9491c5d22 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 @@ -2143,15 +2143,21 @@ public class ApplicationApiHandler extends LoggingRequestHandler { private void tenantMetaDataToSlime(Tenant tenant, List<Application> applications, Cursor object) { Optional<Instant> lastDev = applications.stream() - .flatMap(application -> application.instances().values().stream()) - .flatMap(instance -> JobType.allIn(controller.system()).stream() - .filter(job -> job.environment() == Environment.dev) - .flatMap(jobType -> controller.jobController().last(instance.id(), jobType).stream())) - .map(Run::start) - .max(Comparator.naturalOrder()); + .flatMap(application -> application.instances().values().stream()) + .flatMap(instance -> instance.deployments().values().stream()) + .filter(deployment -> deployment.zone().environment() == Environment.dev) + .map(Deployment::at) + .max(Comparator.naturalOrder()) + .or(() -> applications.stream() + .flatMap(application -> application.instances().values().stream()) + .flatMap(instance -> JobType.allIn(controller.system()).stream() + .filter(job -> job.environment() == Environment.dev) + .flatMap(jobType -> controller.jobController().last(instance.id(), jobType).stream())) + .map(Run::start) + .max(Comparator.naturalOrder())); Optional<Instant> lastSubmission = applications.stream() - .flatMap(app -> app.latestVersion().flatMap(ApplicationVersion::buildTime).stream()) - .max(Comparator.naturalOrder()); + .flatMap(app -> app.latestVersion().flatMap(ApplicationVersion::buildTime).stream()) + .max(Comparator.naturalOrder()); object.setLong("createdAtMillis", tenant.createdAt().toEpochMilli()); lastDev.ifPresent(instant -> object.setLong("lastDeploymentToDevMillis", instant.toEpochMilli())); lastSubmission.ifPresent(instant -> object.setLong("lastSubmissionToProdMillis", instant.toEpochMilli())); |