summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java')
-rwxr-xr-xconfig-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java81
1 files changed, 53 insertions, 28 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
index f0724306e9c..fbe86d26b02 100755
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.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.model.container;
+import ai.vespa.models.evaluation.ModelsEvaluator;
import com.yahoo.cloud.config.ClusterInfoConfig;
import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.cloud.config.RoutingProviderConfig;
@@ -40,6 +41,7 @@ import com.yahoo.search.config.IndexInfoConfig;
import com.yahoo.search.config.QrStartConfig;
import com.yahoo.search.pagetemplates.PageTemplatesConfig;
import com.yahoo.search.query.profile.config.QueryProfilesConfig;
+import com.yahoo.searchdefinition.derived.RankProfileList;
import com.yahoo.vespa.config.search.RankProfilesConfig;
import com.yahoo.vespa.config.search.core.RankingConstantsConfig;
import com.yahoo.vespa.configdefinition.IlscriptsConfig;
@@ -155,7 +157,6 @@ public final class ContainerCluster
private ContainerDocproc containerDocproc;
private ContainerDocumentApi containerDocumentApi;
private SecretStore secretStore;
- private ContainerModelEvaluation modelEvaluation;
private MbusParams mbusParams;
private boolean rpcServerEnabled = true;
@@ -172,6 +173,9 @@ public final class ContainerCluster
private final ContainerClusterVerifier clusterVerifier;
private final boolean isHostedVespa;
+ /** Global rank profiles, aka models */
+ private final RankProfileList rankProfileList;
+
private Map<String, String> concreteDocumentTypes = new LinkedHashMap<>();
private MetricDefaultsConfig.Factory.Enum defaultMetricConsumerFactory;
@@ -196,16 +200,30 @@ public final class ContainerCluster
}
}
- /** Creates a container cluster */
- public ContainerCluster(AbstractConfigProducer<?> parent, String subId, String name) {
- this(parent, subId, name, new AcceptAllVerifier());
+ /**
+ * Creates a container cluster
+ *
+ * @param rankProfileList the list ofd global rank profiles containing models that should be available in
+ * container clusters
+ */
+ public ContainerCluster(AbstractConfigProducer<?> parent,
+ String subId,
+ String name,
+ RankProfileList rankProfileList) {
+ this(parent, subId, name, new AcceptAllVerifier(), rankProfileList);
}
- /** Creates a container cluster */
+ /**
+ * Creates a container cluster
+ *
+ * @param rankProfileList the list ofd global rank profiles containing models that should be available in
+ * container clusters
+ */
public ContainerCluster(AbstractConfigProducer<?> parent,
String subId,
String name,
- ContainerClusterVerifier verifier) {
+ ContainerClusterVerifier verifier,
+ RankProfileList rankProfileList) {
super(parent, subId);
this.clusterVerifier = verifier;
this.name = name;
@@ -215,12 +233,14 @@ public final class ContainerCluster
componentGroup = new ComponentGroup<>(this, "component");
restApiGroup = new ConfigProducerGroup<>(this, "rest-api");
servletGroup = new ConfigProducerGroup<>(this, "servlet");
+ this.rankProfileList = Objects.requireNonNull(rankProfileList, "rankProfileList cannot be null");
addComponent(new StatisticsComponent());
addSimpleComponent(AccessLog.class);
// TODO better modelling
addSimpleComponent(ThreadPoolProvider.class);
addSimpleComponent(com.yahoo.concurrent.classlock.ClassLocking.class);
+ addSimpleComponent(ModelsEvaluator.class.getName(), null, "model-evaluation");
addSimpleComponent("com.yahoo.jdisc.http.filter.SecurityFilterInvoker");
addSimpleComponent(SIMPLE_LINGUISTICS_PROVIDER);
addSimpleComponent("com.yahoo.container.jdisc.SecretStoreProvider");
@@ -340,8 +360,7 @@ public final class ContainerCluster
public void prepare() {
addAndSendApplicationBundles();
- if (modelEvaluation != null)
- modelEvaluation.prepare(containers);
+ rankProfileList.sendConstantsTo(containers);
sendUserConfiguredFiles();
setApplicationMetaData();
for (RestApi restApi : restApiGroup.getComponents())
@@ -438,10 +457,6 @@ public final class ContainerCluster
this.containerSearch = containerSearch;
}
- public void setModelEvaluation(ContainerModelEvaluation modelEvaluation) {
- this.modelEvaluation = modelEvaluation;
- }
-
public void setHttp(Http http) {
this.http = http;
addChild(http);
@@ -536,13 +551,13 @@ public final class ContainerCluster
}
@Override
- public void getConfig(ComponentsConfig.Builder builder) {
+ public final void getConfig(ComponentsConfig.Builder builder) {
builder.components.addAll(ComponentsConfigGenerator.generate(getAllComponents()));
builder.components(new ComponentsConfig.Components.Builder().id("com.yahoo.container.core.config.HandlersConfigurerDi$RegistriesHack"));
}
@Override
- public void getConfig(JdiscBindingsConfig.Builder builder) {
+ public final void getConfig(JdiscBindingsConfig.Builder builder) {
builder.handlers.putAll(DiscBindingsConfigGenerator.generate(getHandlers()));
}
@@ -637,37 +652,47 @@ public final class ContainerCluster
@Override
public void getConfig(DocprocConfig.Builder builder) {
- if (containerDocproc != null) containerDocproc.getConfig(builder);
+ if (containerDocproc != null) {
+ containerDocproc.getConfig(builder);
+ }
}
@Override
public void getConfig(PageTemplatesConfig.Builder builder) {
- if (containerSearch != null) containerSearch.getConfig(builder);
+ if (containerSearch != null) {
+ containerSearch.getConfig(builder);
+ }
}
@Override
public void getConfig(SemanticRulesConfig.Builder builder) {
- if (containerSearch != null) containerSearch.getConfig(builder);
+ if (containerSearch != null) {
+ containerSearch.getConfig(builder);
+ }
}
@Override
public void getConfig(QueryProfilesConfig.Builder builder) {
- if (containerSearch != null) containerSearch.getConfig(builder);
+ if (containerSearch != null) {
+ containerSearch.getConfig(builder);
+ }
}
@Override
public void getConfig(SchemamappingConfig.Builder builder) {
- if (containerDocproc != null) containerDocproc.getConfig(builder);
+ if (containerDocproc!=null) containerDocproc.getConfig(builder);
}
@Override
public void getConfig(IndexInfoConfig.Builder builder) {
- if (containerSearch != null) containerSearch.getConfig(builder);
+ if (containerSearch!=null) containerSearch.getConfig(builder);
}
@Override
public void getConfig(FeederConfig.Builder builder) {
- if (containerDocumentApi != null) containerDocumentApi.getConfig(builder);
+ if (containerDocumentApi != null) {
+ containerDocumentApi.getConfig(builder);
+ }
}
@Override
@@ -686,20 +711,19 @@ public final class ContainerCluster
@Override
public void getConfig(RankProfilesConfig.Builder builder) {
- if (modelEvaluation != null) modelEvaluation.getConfig(builder);
+ rankProfileList.getConfig(builder);
}
@Override
- public void getConfig(RankingConstantsConfig.Builder builder) {
- if (modelEvaluation != null) modelEvaluation.getConfig(builder);
- }
+ public void getConfig(RankingConstantsConfig.Builder builder) { rankProfileList.getConfig(builder); }
public void setMbusParams(MbusParams mbusParams) {
this.mbusParams = mbusParams;
}
public void initialize(Map<String, AbstractSearchCluster> clusterMap) {
- if (containerSearch != null) containerSearch.connectSearchClusters(clusterMap);
+ if (containerSearch != null)
+ containerSearch.connectSearchClusters(clusterMap);
}
public void addDefaultSearchAccessLog() {
@@ -717,7 +741,9 @@ public final class ContainerCluster
@Override
public void getConfig(MetricDefaultsConfig.Builder builder) {
- if (defaultMetricConsumerFactory != null) builder.factory(defaultMetricConsumerFactory);
+ if (defaultMetricConsumerFactory != null) {
+ builder.factory(defaultMetricConsumerFactory);
+ }
}
@Override
@@ -827,5 +853,4 @@ public final class ContainerCluster
this.containerCoreMemory = containerCoreMemory;
}
}
-
}