diff options
author | jonmv <venstad@gmail.com> | 2022-04-10 12:03:39 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2022-04-11 13:42:25 +0200 |
commit | e64eb299b12e79c9d9cbc2c8129f8225291daf90 (patch) | |
tree | c3d83b1940e94be33abf3df81dc5e7cb19f53212 /controller-server | |
parent | 30f1c233e6fd26c89f3b4f194478b66cbf1152cb (diff) |
Simplify ApplicationStore
Diffstat (limited to 'controller-server')
3 files changed, 13 insertions, 32 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 30648265ab9..01abca1b2be 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 @@ -705,7 +705,6 @@ public class ApplicationController { } applicationStore.removeAll(id.tenant(), id.application()); - applicationStore.removeAllTesters(id.tenant(), id.application()); applicationStore.putMetaTombstone(id.tenant(), id.application(), clock.instant()); credentials.ifPresent(creds -> accessControl.deleteApplication(id, creds)); 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 1806cd04389..8878b081cca 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 @@ -236,7 +236,7 @@ public class JobController { } /** Returns all job types which have been run for the given application. */ - public List<JobType> jobs(ApplicationId id) { + private List<JobType> jobs(ApplicationId id) { return JobType.allIn(controller.system()).stream() .filter(type -> last(id, type).isPresent()) .collect(toUnmodifiableList()); @@ -464,14 +464,11 @@ public class JobController { byte[] diff = previousPackage.map(previous -> ApplicationPackageDiff.diff(previous, applicationPackage)) .orElseGet(() -> ApplicationPackageDiff.diffAgainstEmpty(applicationPackage)); applications.applicationStore().put(id.tenant(), - id.application(), - version.get(), - applicationPackage.zippedContent(), - diff); - applications.applicationStore().putTester(id.tenant(), - id.application(), - version.get(), - testPackageBytes); + id.application(), + version.get(), + applicationPackage.zippedContent(), + testPackageBytes, + diff); applications.applicationStore().putMeta(id.tenant(), id.application(), controller.clock().instant(), @@ -492,7 +489,6 @@ public class JobController { Optional<ApplicationVersion> oldestDeployed = application.get().oldestDeployedApplication(); if (oldestDeployed.isPresent()) { controller.applications().applicationStore().prune(id.tenant(), id.application(), oldestDeployed.get()); - controller.applications().applicationStore().pruneTesters(id.tenant(), id.application(), oldestDeployed.get()); for (ApplicationVersion version : application.get().revisions().withPackage()) if (version.compareTo(oldestDeployed.get()) < 0) diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ApplicationStoreMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ApplicationStoreMock.java index bedae15824f..3dbe307fa5a 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ApplicationStoreMock.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ApplicationStoreMock.java @@ -77,21 +77,23 @@ public class ApplicationStoreMock implements ApplicationStore { } @Override - public void put(TenantName tenant, ApplicationName application, ApplicationVersion applicationVersion, byte[] applicationPackage, byte[] diff) { - store.computeIfAbsent(appId(tenant, application), __ -> new ConcurrentHashMap<>()).put(applicationVersion, applicationPackage); + public void put(TenantName tenant, ApplicationName application, ApplicationVersion applicationVersion, byte[] bytes, byte[] tests, byte[] diff) { + store.computeIfAbsent(appId(tenant, application), __ -> new ConcurrentHashMap<>()).put(applicationVersion, bytes); + store.computeIfAbsent(testerId(tenant, application), key -> new ConcurrentHashMap<>()) .put(applicationVersion, tests); applicationVersion.buildNumber().ifPresent(buildNumber -> diffs.computeIfAbsent(appId(tenant, application), __ -> new ConcurrentHashMap<>()).put(buildNumber, diff)); } @Override - public boolean prune(TenantName tenant, ApplicationName application, ApplicationVersion oldestToRetain) { - return store.containsKey(appId(tenant, application)) - && store.get(appId(tenant, application)).keySet().removeIf(version -> version.compareTo(oldestToRetain) < 0); + public void prune(TenantName tenant, ApplicationName application, ApplicationVersion oldestToRetain) { + store.getOrDefault(appId(tenant, application), Map.of()).keySet().removeIf(version -> version.compareTo(oldestToRetain) < 0); + store.getOrDefault(testerId(tenant, application), Map.of()).keySet().removeIf(version -> version.compareTo(oldestToRetain) < 0); } @Override public void removeAll(TenantName tenant, ApplicationName application) { store.remove(appId(tenant, application)); + store.remove(testerId(tenant, application)); } @Override @@ -99,22 +101,6 @@ public class ApplicationStoreMock implements ApplicationStore { return requireNonNull(store.get(testerId(tenant, application)).get(applicationVersion)); } - @Override - public void putTester(TenantName tenant, ApplicationName application, ApplicationVersion applicationVersion, byte[] testerPackage) { - store.computeIfAbsent(testerId(tenant, application), key -> new ConcurrentHashMap<>()) - .put(applicationVersion, testerPackage); - } - - @Override - public boolean pruneTesters(TenantName tenant, ApplicationName application, ApplicationVersion oldestToRetain) { - return store.containsKey(testerId(tenant, application)) - && store.get(testerId(tenant, application)).keySet().removeIf(version -> version.compareTo(oldestToRetain) < 0); - } - - @Override - public void removeAllTesters(TenantName tenant, ApplicationName application) { - store.remove(testerId(tenant, application)); - } @Override public Optional<byte[]> getDevDiff(DeploymentId deploymentId, long buildNumber) { |