aboutsummaryrefslogtreecommitdiffstats
path: root/configserver/src/main/java/com/yahoo/vespa/config/server/session
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-05-04 15:41:57 +0200
committerJon Bratseth <bratseth@gmail.com>2022-05-04 15:41:57 +0200
commiteb4f0ab84883e89f6cf397a37b3840719e0843e6 (patch)
tree2ac6671b84872af3e97d06fc2f8dd19dc5211263 /configserver/src/main/java/com/yahoo/vespa/config/server/session
parentd9ea4c99b13fa83a75bd8612d5f6c4d50510e3e9 (diff)
Consolidate allocated hosts from all model versions
- Aactivate the superset of hosts allocated from all model versions - Use the version of each host allocated by the newest model version
Diffstat (limited to 'configserver/src/main/java/com/yahoo/vespa/config/server/session')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java5
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java6
2 files changed, 5 insertions, 6 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
index 8293871335d..6019f3ff438 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
@@ -35,6 +35,7 @@ import com.yahoo.vespa.config.server.deploy.ZooKeeperDeployer;
import com.yahoo.vespa.config.server.filedistribution.FileDistributionFactory;
import com.yahoo.vespa.config.server.host.HostValidator;
import com.yahoo.vespa.config.server.http.InvalidApplicationException;
+import com.yahoo.vespa.config.server.modelfactory.AllocatedHostsFromAllModels;
import com.yahoo.vespa.config.server.modelfactory.LegacyFlags;
import com.yahoo.vespa.config.server.modelfactory.ModelFactoryRegistry;
import com.yahoo.vespa.config.server.modelfactory.PreparedModelsBuilder;
@@ -254,11 +255,11 @@ public class SessionPreparer {
}
AllocatedHosts buildModels(Instant now) {
- SettableOptional<AllocatedHosts> allocatedHosts = new SettableOptional<>();
+ var allocatedHosts = new AllocatedHostsFromAllModels();
this.modelResultList = preparedModelsBuilder.buildModels(applicationId, dockerImageRepository, vespaVersion,
preprocessedApplicationPackage, allocatedHosts, now);
checkTimeout("build models");
- return allocatedHosts.get();
+ return allocatedHosts.toAllocatedHosts();
}
void makeResult(AllocatedHosts allocatedHosts) {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
index ccfe8e31b69..a5305f8f886 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
@@ -34,6 +34,7 @@ import com.yahoo.vespa.config.server.filedistribution.FileDirectory;
import com.yahoo.vespa.config.server.filedistribution.FileDistributionFactory;
import com.yahoo.vespa.config.server.http.UnknownVespaVersionException;
import com.yahoo.vespa.config.server.modelfactory.ActivatedModelsBuilder;
+import com.yahoo.vespa.config.server.modelfactory.AllocatedHostsFromAllModels;
import com.yahoo.vespa.config.server.modelfactory.ModelFactoryRegistry;
import com.yahoo.vespa.config.server.monitoring.MetricUpdater;
import com.yahoo.vespa.config.server.monitoring.Metrics;
@@ -536,14 +537,11 @@ public class SessionRepository {
zone,
modelFactoryRegistry,
configDefinitionRepo);
- // Read hosts allocated on the config server instance which created this
- SettableOptional<AllocatedHosts> allocatedHosts = new SettableOptional<>(applicationPackage.getAllocatedHosts());
-
return ApplicationSet.fromList(builder.buildModels(session.getApplicationId(),
sessionZooKeeperClient.readDockerImageRepository(),
sessionZooKeeperClient.readVespaVersion(),
applicationPackage,
- allocatedHosts,
+ new AllocatedHostsFromAllModels(),
clock.instant()));
}