diff options
author | Ola Aunrønning <olaa@verizonmedia.com> | 2022-01-28 11:10:39 +0100 |
---|---|---|
committer | Ola Aunrønning <olaa@verizonmedia.com> | 2022-01-28 11:10:39 +0100 |
commit | 3161b9bc70f9dce6519e628267300e81cda2e0f6 (patch) | |
tree | 2c4b08f3d4c4256d3a7e2f06f35d9c53483b520d /controller-server/src | |
parent | 976d5618dd512ee46c8b6bc0ce22834b65d9773a (diff) |
Decide version removal based on oldest deployed
Diffstat (limited to 'controller-server/src')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java index 54027d93d77..7156e4ac937 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java @@ -445,23 +445,25 @@ public class ApplicationController { controller.notificationsDb().removeNotifications(notification.source()); } - var existingVersions = application.get() + var oldestDeployedVersion = application.get() .instances() .values() .stream() .flatMap(instance -> instance.deployments().values().stream()) .map(Deployment::applicationVersion) - .collect(Collectors.toSet()); + .sorted() + .findFirst() + .orElse(ApplicationVersion.unknown); - var oldVersions = application.get().versions() + var olderVersions = application.get().versions() .stream() - .filter(version -> !existingVersions.contains(version)) + .filter(version -> version.compareTo(oldestDeployedVersion) < 0) .sorted() .collect(Collectors.toList()); // Remove any version not deployed anywhere - but keep one - for (int i = 0; i < oldVersions.size() - 1; i++) { - application = application.withoutVersion(oldVersions.get(i)); + for (int i = 0; i < olderVersions.size() - 1; i++) { + application = application.withoutVersion(olderVersions.get(i)); } store(application); |