diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2019-02-08 09:02:53 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2019-02-08 09:02:53 +0100 |
commit | d2419acb0eae2e9d4895d82607dd64aac563aafa (patch) | |
tree | b002866ae61c66042f8c7d7c997092e32dc70927 /orchestrator/src/main | |
parent | 6b90277a622c2ed3fabff61e67b19228133ac189 (diff) |
Simplify, using pre-computed host-to-application map
Diffstat (limited to 'orchestrator/src/main')
-rw-r--r-- | orchestrator/src/main/java/com/yahoo/vespa/orchestrator/ServiceMonitorInstanceLookupService.java | 31 |
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(); } } |