diff options
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSession.java | 8 | ||||
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/lang/SettableOptional.java | 5 |
2 files changed, 12 insertions, 1 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSession.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSession.java index 454b98ddc05..9374d68a6ac 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSession.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSession.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.server.session; +import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.provision.*; import com.yahoo.lang.SettableOptional; import com.yahoo.vespa.config.server.*; @@ -54,10 +55,15 @@ public class RemoteSession extends Session { } private ApplicationSet loadApplication() { + ApplicationPackage applicationPackage = zooKeeperClient.loadApplicationPackage(); + + // Read hosts allocated on the config server instance which created this + Optional<AllocatedHosts> allocatedHosts = applicationPackage.getAllocatedHosts(); + return ApplicationSet.fromList(applicationLoader.buildModels(zooKeeperClient.readApplicationId(), zooKeeperClient.readVespaVersion(), zooKeeperClient.loadApplicationPackage(), - new SettableOptional<>(), + new SettableOptional<>(allocatedHosts), clock.instant())); } diff --git a/vespajlib/src/main/java/com/yahoo/lang/SettableOptional.java b/vespajlib/src/main/java/com/yahoo/lang/SettableOptional.java index db5dd76c124..e83a6c3f308 100644 --- a/vespajlib/src/main/java/com/yahoo/lang/SettableOptional.java +++ b/vespajlib/src/main/java/com/yahoo/lang/SettableOptional.java @@ -19,6 +19,11 @@ public final class SettableOptional<T> { /** Creates a new settable optional with the given value */ public SettableOptional(T value) { this.value = value; } + /** Creates a new settable optional with the given value, or an empty */ + public SettableOptional(Optional<T> value) { + this.value = value.isPresent() ? value.get() : null; + } + public boolean isPresent() { return value != null; } |