diff options
Diffstat (limited to 'controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java index dbd52fc6d02..637da842d2f 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java @@ -39,6 +39,7 @@ import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.NavigableMap; import java.util.Optional; import java.util.Set; import java.util.SortedMap; @@ -55,6 +56,7 @@ import java.util.stream.Stream; import static java.util.Comparator.comparing; import static java.util.stream.Collectors.collectingAndThen; +import static java.util.stream.Collectors.toUnmodifiableList; /** * Curator backed database for storing the persistence state of controllers. This maps controller specific operations @@ -351,16 +353,18 @@ public class CuratorDb { } private List<Application> readApplications(Predicate<TenantAndApplicationId> applicationFilter) { - return readApplicationIds().filter(applicationFilter) + return readApplicationIds().stream() + .filter(applicationFilter) .sorted() .map(this::readApplication) .flatMap(Optional::stream) .collect(Collectors.toUnmodifiableList()); } - private Stream<TenantAndApplicationId> readApplicationIds() { + public List<TenantAndApplicationId> readApplicationIds() { return curator.getChildren(applicationRoot).stream() - .map(TenantAndApplicationId::fromSerialized); + .map(TenantAndApplicationId::fromSerialized) + .collect(toUnmodifiableList()); } public void removeApplication(TenantAndApplicationId id) { @@ -381,7 +385,7 @@ public class CuratorDb { return readSlime(lastRunPath(id, type)).map(runSerializer::runFromSlime); } - public SortedMap<RunId, Run> readHistoricRuns(ApplicationId id, JobType type) { + public NavigableMap<RunId, Run> readHistoricRuns(ApplicationId id, JobType type) { return readSlime(runsPath(id, type)).map(runSerializer::runsFromSlime).orElse(new TreeMap<>(comparing(RunId::number))); } |