summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-04-10 12:03:39 +0200
committerjonmv <venstad@gmail.com>2022-04-11 13:42:25 +0200
commite64eb299b12e79c9d9cbc2c8129f8225291daf90 (patch)
treec3d83b1940e94be33abf3df81dc5e7cb19f53212 /controller-server
parent30f1c233e6fd26c89f3b4f194478b66cbf1152cb (diff)
Simplify ApplicationStore
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java1
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobController.java16
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ApplicationStoreMock.java28
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) {