summaryrefslogtreecommitdiffstats
path: root/orchestrator
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2019-02-08 09:02:53 +0100
committerJon Marius Venstad <venstad@gmail.com>2019-02-08 09:02:53 +0100
commitd2419acb0eae2e9d4895d82607dd64aac563aafa (patch)
treeb002866ae61c66042f8c7d7c997092e32dc70927 /orchestrator
parent6b90277a622c2ed3fabff61e67b19228133ac189 (diff)
Simplify, using pre-computed host-to-application map
Diffstat (limited to 'orchestrator')
-rw-r--r--orchestrator/src/main/java/com/yahoo/vespa/orchestrator/ServiceMonitorInstanceLookupService.java31
1 files changed, 3 insertions, 28 deletions
diff --git a/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/ServiceMonitorInstanceLookupService.java b/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/ServiceMonitorInstanceLookupService.java
index d1d5f3e8c95..1a859cfacc5 100644
--- a/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/ServiceMonitorInstanceLookupService.java
+++ b/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/ServiceMonitorInstanceLookupService.java
@@ -29,42 +29,17 @@ public class ServiceMonitorInstanceLookupService implements InstanceLookupServic
@Override
public Optional<ApplicationInstance> findInstanceById(ApplicationInstanceReference applicationInstanceReference) {
- Map<ApplicationInstanceReference, ApplicationInstance> instanceMap
- = serviceMonitor.getAllApplicationInstances();
- return Optional.ofNullable(instanceMap.get(applicationInstanceReference));
+ return serviceMonitor.getServiceModelSnapshot().getApplicationInstance(applicationInstanceReference);
}
@Override
public Optional<ApplicationInstance> findInstanceByHost(HostName hostName) {
- Map<ApplicationInstanceReference, ApplicationInstance> instanceMap
- = serviceMonitor.getAllApplicationInstances();
- List<ApplicationInstance> applicationInstancesUsingHost = instanceMap.entrySet().stream()
- .filter(entry -> applicationInstanceUsesHost(entry.getValue(), hostName))
- .map(Map.Entry::getValue)
- .collect(Collectors.toList());
- if (applicationInstancesUsingHost.isEmpty()) {
- return Optional.empty();
- }
- if (applicationInstancesUsingHost.size() > 1) {
- throw new IllegalStateException(
- "Major assumption broken: Multiple application instances contain host " + hostName.s()
- + ": " + applicationInstancesUsingHost);
- }
- return Optional.of(applicationInstancesUsingHost.get(0));
+ return Optional.ofNullable(serviceMonitor.getServiceModelSnapshot().getApplicationsByHostName().get(hostName));
}
@Override
public Set<ApplicationInstanceReference> knownInstances() {
- return serviceMonitor.getAllApplicationInstances().keySet();
- }
-
- private static boolean applicationInstanceUsesHost(ApplicationInstance applicationInstance,
- HostName hostName) {
- return applicationInstance.serviceClusters().stream()
- .anyMatch(serviceCluster ->
- serviceCluster.serviceInstances().stream()
- .anyMatch(serviceInstance ->
- serviceInstance.hostName().equals(hostName)));
+ return serviceMonitor.getServiceModelSnapshot().getAllApplicationInstances().keySet();
}
}