diff options
Diffstat (limited to 'controller-api')
2 files changed, 13 insertions, 8 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/RunDataStore.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/RunDataStore.java index cf9bb55ad0b..88634fa8587 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/RunDataStore.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/RunDataStore.java @@ -1,19 +1,22 @@ package com.yahoo.vespa.hosted.controller.api.integration; +import com.yahoo.config.provision.ApplicationId; import com.yahoo.vespa.hosted.controller.api.integration.deployment.RunId; +import java.util.Optional; + /** * @author jonmv */ public interface RunDataStore { - /** Returns the log of the given deployment job, or an empty byte array if non-existent. */ - byte[] get(RunId id); + /** Returns the run logs of the given deployment job, if existent. */ + Optional<byte[]> get(RunId id); /** Stores the given log for the given deployment job. */ void put(RunId id, byte[] log); - /** Deletes all data associated with the given deployment job */ - void delete(RunId id); + /** Deletes all data associated with the given application. */ + void delete(ApplicationId id); } diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockRunDataStore.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockRunDataStore.java index 494f3acf5fc..0d7d8eca10e 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockRunDataStore.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockRunDataStore.java @@ -1,10 +1,12 @@ // Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.controller.api.integration.stubs; +import com.yahoo.config.provision.ApplicationId; import com.yahoo.vespa.hosted.controller.api.integration.RunDataStore; import com.yahoo.vespa.hosted.controller.api.integration.deployment.RunId; import java.util.Map; +import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; /** @@ -15,8 +17,8 @@ public class MockRunDataStore implements RunDataStore { private final Map<RunId, byte[]> logs = new ConcurrentHashMap<>(); @Override - public byte[] get(RunId id) { - return logs.getOrDefault(id, new byte[0]); + public Optional<byte[]> get(RunId id) { + return Optional.ofNullable(logs.get(id)); } @Override @@ -25,8 +27,8 @@ public class MockRunDataStore implements RunDataStore { } @Override - public void delete(RunId id) { - logs.remove(id); + public void delete(ApplicationId id) { + logs.keySet().removeIf(runId -> runId.application().equals(id)); } } |