diff options
author | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-11-08 17:04:34 +0100 |
---|---|---|
committer | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-11-08 17:04:34 +0100 |
commit | d7dab853b75f42002bb73192a9b2c85816e36ae2 (patch) | |
tree | 85a93afb947b71b44baa4aaee84019cb782a14be /controller-server/src | |
parent | e7a1e1c0236c7e58093ef5d08793a7ec957ecd0d (diff) |
Actually do the GC
Diffstat (limited to 'controller-server/src')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java | 10 |
1 files changed, 10 insertions, 0 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 18ae1274553..26d9e303794 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 @@ -24,6 +24,7 @@ import com.yahoo.vespa.hosted.controller.persistence.CuratorDb; import java.net.URI; import java.util.Collections; +import java.util.Comparator; import java.util.HashSet; import java.util.Iterator; import java.util.List; @@ -225,6 +226,7 @@ public class JobController { AtomicReference<ApplicationVersion> version = new AtomicReference<>(); controller.applications().lockOrThrow(id, application -> { if ( ! application.get().deploymentJobs().deployedInternally()) { + // TODO jvenstad: Remove when there are no more SDv3 pipelines. // Copy all current packages to the new application store application.get().deployments().values().stream() .map(Deployment::applicationVersion) @@ -245,6 +247,14 @@ public class JobController { version.get(), testPackageBytes); + application.get().deployments().values().stream() + .map(Deployment::applicationVersion) + .min(Comparator.comparingLong(applicationVersion -> applicationVersion.buildNumber().getAsLong())) + .ifPresent(oldestDeployed -> { + controller.applications().applicationStore().pruneApplicationPackages(id, oldestDeployed); + controller.applications().applicationStore().pruneTesterPackages(id, oldestDeployed); + }); + controller.applications().storeWithUpdatedConfig(application.withBuiltInternally(true), new ApplicationPackage(packageBytes)); notifyOfNewSubmission(id, projectId, revision, run); |