aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-06-19 12:21:08 +0200
committerGitHub <noreply@github.com>2018-06-19 12:21:08 +0200
commit8a520db9ba4897cd2a97d5b36d61e998765ffa36 (patch)
tree43966d66a8d7922feaac07b6b5924e6e57952b20
parent017d615e0aee5cb9210f2af9403819f51349f07a (diff)
parentaebc3edabe3e06a90600b5204f2a9d5b2506ce2e (diff)
Merge pull request #6231 from vespa-engine/bratseth/reuse-allocation-decision
Reuse allocation decisions
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSession.java8
-rw-r--r--vespajlib/src/main/java/com/yahoo/lang/SettableOptional.java5
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;
}