summaryrefslogtreecommitdiffstats
path: root/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java
diff options
context:
space:
mode:
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.java12
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)));
}