diff options
author | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-11-10 07:52:11 +0100 |
---|---|---|
committer | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-11-10 07:52:11 +0100 |
commit | 9cb8d3cc637f14c149775c9bc0dc61d454f79044 (patch) | |
tree | 243f29528159883d2987cb20710af43e5d8874eb /controller-server/src | |
parent | 45faccac4b511034f72be16ac6b86325f123a911 (diff) |
Move pruning to separate method
Diffstat (limited to 'controller-server/src')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java | 21 |
1 files changed, 13 insertions, 8 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 da98dd0e165..08fd61a626a 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 @@ -248,14 +248,7 @@ 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().prune(id, oldestDeployed); - controller.applications().applicationStore().prune(TesterId.of(id), oldestDeployed); - }); - + prunePackages(id); controller.applications().storeWithUpdatedConfig(application.withBuiltInternally(true), new ApplicationPackage(packageBytes)); notifyOfNewSubmission(id, projectId, revision, run); @@ -355,6 +348,18 @@ public class JobController { controller.applications().deploymentTrigger().notifyOfCompletion(report); } + private void prunePackages(ApplicationId id) { + controller.applications().lockIfPresent(id, application -> { + application.get().deployments().values().stream() + .map(Deployment::applicationVersion) + .min(Comparator.comparingLong(applicationVersion -> applicationVersion.buildNumber().getAsLong())) + .ifPresent(oldestDeployed -> { + controller.applications().applicationStore().prune(id, oldestDeployed); + controller.applications().applicationStore().prune(TesterId.of(id), oldestDeployed); + }); + }); + } + /** Locks and modifies the list of historic runs for the given application and job type. */ private void locked(ApplicationId id, JobType type, Consumer<SortedMap<RunId, Run>> modifications) { try (Lock __ = curator.lock(id, type)) { |