aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2021-01-12 15:43:20 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2021-01-12 15:46:10 +0100
commit65ba8c2e2628e20891c8940217ac44d49a509bbe (patch)
tree0e4b2d01c897845dabf0877a42134a81eb72f375 /config-model/src/main/java/com/yahoo
parent3b212529b258d1774ec89b319e7f5c54556e5f75 (diff)
Add feature flag for enabling jdisc connection log
Diffstat (limited to 'config-model/src/main/java/com/yahoo')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainer.java7
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java5
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java9
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/Container.java9
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/http/JettyHttpServer.java7
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/JettyHttpServerBuilder.java3
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java27
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerServiceBuilder.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/Content.java2
12 files changed, 44 insertions, 33 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java
index 3f432620b90..02ef276dba3 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java
@@ -221,7 +221,7 @@ public class Admin extends AbstractConfigProducer implements Serializable {
for (var host : hosts) {
// Send hostname to be used in configId (instead of index), as the sorting of hosts seems to be unstable
// between config changes, even when the set of hosts is unchanged.
- var container = new MetricsProxyContainer(metricsProxyCluster, host.getHostname(), index, deployState.isHosted());
+ var container = new MetricsProxyContainer(metricsProxyCluster, deployState.featureFlags(), host.getHostname(), index, deployState.isHosted());
addAndInitializeService(deployState.getDeployLogger(), host, container);
metricsProxyCluster.addContainer(container);
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainer.java
index b3ad8db0df1..ad491b3ca0c 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainer.java
@@ -1,9 +1,10 @@
// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.model.admin;
+import com.yahoo.config.model.api.ModelContext.FeatureFlags;
+import com.yahoo.config.model.api.container.ContainerServiceType;
import com.yahoo.config.model.producer.AbstractConfigProducer;
import com.yahoo.vespa.model.container.Container;
-import com.yahoo.config.model.api.container.ContainerServiceType;
import com.yahoo.vespa.model.container.component.AccessLogComponent;
/**
@@ -12,8 +13,8 @@ import com.yahoo.vespa.model.container.component.AccessLogComponent;
*/
public class LogserverContainer extends Container {
- public LogserverContainer(AbstractConfigProducer parent, boolean isHostedVespa) {
- super(parent, "" + 0, 0, isHostedVespa);
+ public LogserverContainer(AbstractConfigProducer parent, FeatureFlags featureFlags, boolean isHostedVespa) {
+ super(parent, featureFlags, "" + 0, 0, isHostedVespa);
addComponent(new AccessLogComponent(AccessLogComponent.AccessLogType.jsonAccessLog, ((LogserverContainerCluster) parent).getName(), true));
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java
index d5da3753c99..6379ddcec95 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java
@@ -46,7 +46,7 @@ public class ClusterControllerContainer extends Container implements
int index,
boolean runStandaloneZooKeeper,
DeployState deployState) {
- super(parent, "" + index, index, deployState.isHosted());
+ super(parent, deployState.featureFlags(), "" + index, index, deployState.isHosted());
addHandler("clustercontroller-status",
"com.yahoo.vespa.clustercontroller.apps.clustercontroller.StatusHandler",
"/clustercontroller-status/*",
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java
index 0a03f216913..fd20bc1d12e 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java
@@ -11,6 +11,7 @@ import ai.vespa.metricsproxy.rpc.RpcConnector;
import ai.vespa.metricsproxy.rpc.RpcConnectorConfig;
import ai.vespa.metricsproxy.service.VespaServices;
import ai.vespa.metricsproxy.service.VespaServicesConfig;
+import com.yahoo.config.model.api.ModelContext.FeatureFlags;
import com.yahoo.config.model.api.container.ContainerServiceType;
import com.yahoo.config.model.producer.AbstractConfigProducer;
import com.yahoo.config.provision.ClusterMembership;
@@ -39,8 +40,8 @@ public class MetricsProxyContainer extends Container implements
final boolean isHostedVespa;
- public MetricsProxyContainer(AbstractConfigProducer parent, String hostname, int index, boolean isHostedVespa) {
- super(parent, hostname, index, isHostedVespa);
+ public MetricsProxyContainer(AbstractConfigProducer parent, FeatureFlags featureFlags, String hostname, int index, boolean isHostedVespa) {
+ super(parent, featureFlags, hostname, index, isHostedVespa);
this.isHostedVespa = isHostedVespa;
setProp("clustertype", "admin");
setProp("index", String.valueOf(index));
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java
index a28475c94f3..d7681f578ff 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java
@@ -105,7 +105,7 @@ public class DomAdminV4Builder extends DomAdminBuilderBase {
ContainerModel logserverClusterModel = new ContainerModel(context.withParent(admin).withId(logServerCluster.getSubId()));
logserverClusterModel.setCluster(logServerCluster);
- LogserverContainer container = new LogserverContainer(logServerCluster, deployState.isHosted());
+ LogserverContainer container = new LogserverContainer(logServerCluster, deployState.featureFlags(), deployState.isHosted());
container.setHostResource(hostResource);
container.initService(deployState.getDeployLogger());
logServerCluster.addContainer(container);
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java
index fddfcabeb0e..eccfc11952f 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java
@@ -2,6 +2,7 @@
package com.yahoo.vespa.model.container;
import com.yahoo.cloud.config.ZookeeperServerConfig;
+import com.yahoo.config.model.api.ModelContext.FeatureFlags;
import com.yahoo.config.model.api.container.ContainerServiceType;
import com.yahoo.config.model.producer.AbstractConfigProducer;
import com.yahoo.config.provision.NodeResources;
@@ -24,12 +25,12 @@ public final class ApplicationContainer extends Container implements
private final boolean isHostedVespa;
- public ApplicationContainer(AbstractConfigProducer<?> parent, String name, int index, boolean isHostedVespa) {
- this(parent, name, false, index, isHostedVespa);
+ public ApplicationContainer(AbstractConfigProducer<?> parent, FeatureFlags featureFlags, String name, int index, boolean isHostedVespa) {
+ this(parent, featureFlags, name, false, index, isHostedVespa);
}
- public ApplicationContainer(AbstractConfigProducer<?> parent, String name, boolean retired, int index, boolean isHostedVespa) {
- super(parent, name, retired, index, isHostedVespa);
+ public ApplicationContainer(AbstractConfigProducer<?> parent, FeatureFlags featureFlags, String name, boolean retired, int index, boolean isHostedVespa) {
+ super(parent, featureFlags, name, retired, index, isHostedVespa);
this.isHostedVespa = isHostedVespa;
addComponent(getFS4ResourcePool()); // TODO Remove when FS4 based search protocol is gone
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java b/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java
index 5e95403313c..0c7a38ec4dd 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java
@@ -3,6 +3,7 @@ package com.yahoo.vespa.model.container;
import com.yahoo.component.ComponentId;
import com.yahoo.config.application.api.DeployLogger;
+import com.yahoo.config.model.api.ModelContext.FeatureFlags;
import com.yahoo.config.model.api.container.ContainerServiceType;
import com.yahoo.config.model.producer.AbstractConfigProducer;
import com.yahoo.container.ComponentsConfig;
@@ -78,17 +79,17 @@ public abstract class Container extends AbstractService implements
private final JettyHttpServer defaultHttpServer;
- protected Container(AbstractConfigProducer<?> parent, String name, int index, boolean isHostedVespa) {
- this(parent, name, false, index, isHostedVespa);
+ protected Container(AbstractConfigProducer<?> parent, FeatureFlags featureFlags, String name, int index, boolean isHostedVespa) {
+ this(parent, featureFlags, name, false, index, isHostedVespa);
}
- protected Container(AbstractConfigProducer<?> parent, String name, boolean retired, int index, boolean isHostedVespa) {
+ protected Container(AbstractConfigProducer<?> parent, FeatureFlags featureFlags, String name, boolean retired, int index, boolean isHostedVespa) {
super(parent, name);
this.name = name;
this.parent = parent;
this.retired = retired;
this.index = index;
- this.defaultHttpServer = new JettyHttpServer(new ComponentId("DefaultHttpServer"), containerClusterOrNull(parent), isHostedVespa);
+ this.defaultHttpServer = new JettyHttpServer(new ComponentId("DefaultHttpServer"), containerClusterOrNull(parent), featureFlags, isHostedVespa);
if (getHttp() == null) {
addChild(defaultHttpServer);
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/http/JettyHttpServer.java b/config-model/src/main/java/com/yahoo/vespa/model/container/http/JettyHttpServer.java
index 5b8df11e6d1..901c422f843 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/http/JettyHttpServer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/http/JettyHttpServer.java
@@ -3,6 +3,7 @@ package com.yahoo.vespa.model.container.http;
import com.yahoo.component.ComponentId;
import com.yahoo.component.ComponentSpecification;
+import com.yahoo.config.model.api.ModelContext;
import com.yahoo.container.bundle.BundleInstantiationSpecification;
import com.yahoo.jdisc.http.ServerConfig;
import com.yahoo.osgi.provider.model.ComponentModel;
@@ -24,8 +25,9 @@ public class JettyHttpServer extends SimpleComponent implements ServerConfig.Pro
private final ContainerCluster<?> cluster;
private final boolean isHostedVespa;
private final List<ConnectorFactory> connectorFactories = new ArrayList<>();
+ private final boolean enableJdiscConnectionLog;
- public JettyHttpServer(ComponentId id, ContainerCluster<?> cluster, boolean isHostedVespa) {
+ public JettyHttpServer(ComponentId id, ContainerCluster<?> cluster, ModelContext.FeatureFlags featureFlags, boolean isHostedVespa) {
super(new ComponentModel(
new BundleInstantiationSpecification(id,
fromString("com.yahoo.jdisc.http.server.jetty.JettyHttpServer"),
@@ -36,6 +38,7 @@ public class JettyHttpServer extends SimpleComponent implements ServerConfig.Pro
final FilterBindingsProviderComponent filterBindingsProviderComponent = new FilterBindingsProviderComponent(id);
addChild(filterBindingsProviderComponent);
inject(filterBindingsProviderComponent);
+ this.enableJdiscConnectionLog = featureFlags.enableJdiscConnectionLog();
}
public void addConnector(ConnectorFactory connectorFactory) {
@@ -73,6 +76,8 @@ public class JettyHttpServer extends SimpleComponent implements ServerConfig.Pro
.remotePortHeaders(List.of("X-Forwarded-Port", "y-rp")));
}
configureJettyThreadpool(builder);
+ builder.connectionLog(new ServerConfig.ConnectionLog.Builder()
+ .enabled(enableJdiscConnectionLog));
}
private void configureJettyThreadpool(ServerConfig.Builder builder) {
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/JettyHttpServerBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/JettyHttpServerBuilder.java
index 7f3c5f653aa..301bcc07aa8 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/JettyHttpServerBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/http/xml/JettyHttpServerBuilder.java
@@ -24,7 +24,8 @@ public class JettyHttpServerBuilder extends VespaDomBuilder.DomConfigProducerBui
@Override
protected JettyHttpServer doBuild(DeployState deployState, AbstractConfigProducer ancestor, Element http) {
- JettyHttpServer jettyHttpServer = new JettyHttpServer(new ComponentId("jdisc-jetty"), cluster, deployState.isHosted());
+ JettyHttpServer jettyHttpServer = new JettyHttpServer(
+ new ComponentId("jdisc-jetty"), cluster, deployState.featureFlags(), deployState.isHosted());
for (Element serverSpec: XML.getChildren(http, "server")) {
ConnectorFactory connectorFactory = new JettyConnectorBuilder().build(deployState, ancestor, serverSpec);
jettyHttpServer.addConnector(connectorFactory);
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
index 8d7f85b0081..0e0795dc8f0 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
@@ -14,6 +14,7 @@ import com.yahoo.config.model.ConfigModelContext.ApplicationType;
import com.yahoo.config.model.api.ConfigServerSpec;
import com.yahoo.config.model.api.ContainerEndpoint;
import com.yahoo.config.model.api.EndpointCertificateSecrets;
+import com.yahoo.config.model.api.ModelContext.FeatureFlags;
import com.yahoo.config.model.application.provider.IncludeDirs;
import com.yahoo.config.model.builder.xml.ConfigModelBuilder;
import com.yahoo.config.model.builder.xml.ConfigModelId;
@@ -355,7 +356,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
cluster.setHttp(buildHttp(deployState, cluster, httpElement));
}
if (isHostedTenantApplication(context)) {
- addHostedImplicitHttpIfNotPresent(cluster);
+ addHostedImplicitHttpIfNotPresent(cluster, deployState);
addHostedImplicitAccessControlIfNotPresent(deployState, cluster);
addDefaultConnectorHostedFilterBinding(cluster);
addAdditionalHostedConnector(deployState, cluster, context);
@@ -402,13 +403,13 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
return deployState.isHosted() && context.getApplicationType() == ApplicationType.DEFAULT && !isTesterApplication;
}
- private static void addHostedImplicitHttpIfNotPresent(ApplicationContainerCluster cluster) {
+ private static void addHostedImplicitHttpIfNotPresent(ApplicationContainerCluster cluster, DeployState deployState) {
if(cluster.getHttp() == null) {
cluster.setHttp(new Http(new FilterChains(cluster)));
}
JettyHttpServer httpServer = cluster.getHttp().getHttpServer().orElse(null);
if (httpServer == null) {
- httpServer = new JettyHttpServer(new ComponentId("DefaultHttpServer"), cluster, cluster.isHostedVespa());
+ httpServer = new JettyHttpServer(new ComponentId("DefaultHttpServer"), cluster, deployState.featureFlags(), cluster.isHostedVespa());
cluster.getHttp().setHttpServer(httpServer);
}
int defaultPort = Defaults.getDefaults().vespaWebServicePort();
@@ -541,13 +542,13 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
private void addNodes(ApplicationContainerCluster cluster, Element spec, ConfigModelContext context) {
if (standaloneBuilder)
- addStandaloneNode(cluster);
+ addStandaloneNode(cluster, context.featureFlags());
else
addNodesFromXml(cluster, spec, context);
}
- private void addStandaloneNode(ApplicationContainerCluster cluster) {
- ApplicationContainer container = new ApplicationContainer(cluster, "standalone", cluster.getContainers().size(), cluster.isHostedVespa());
+ private void addStandaloneNode(ApplicationContainerCluster cluster, FeatureFlags featureFlags) {
+ ApplicationContainer container = new ApplicationContainer(cluster, featureFlags, "standalone", cluster.getContainers().size(), cluster.isHostedVespa());
cluster.addContainers(Collections.singleton(container));
}
@@ -711,13 +712,13 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
false,
!deployState.getProperties().isBootstrap());
var hosts = hostSystem.allocateHosts(clusterSpec, capacity, log);
- return createNodesFromHosts(log, hosts, cluster);
+ return createNodesFromHosts(log, context.featureFlags(), hosts, cluster);
}
return singleHostContainerCluster(cluster, hostSystem.getHost(Container.SINGLENODE_CONTAINER_SERVICESPEC), context);
}
private List<ApplicationContainer> singleHostContainerCluster(ApplicationContainerCluster cluster, HostResource host, ConfigModelContext context) {
- ApplicationContainer node = new ApplicationContainer(cluster, "container.0", 0, cluster.isHostedVespa());
+ ApplicationContainer node = new ApplicationContainer(cluster, context.featureFlags(), "container.0", 0, cluster.isHostedVespa());
node.setHostResource(host);
node.initService(context.getDeployLogger());
return List.of(node);
@@ -730,7 +731,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
ClusterSpec.Id.from(cluster.getName()),
log,
hasZooKeeper(containerElement));
- return createNodesFromHosts(context.getDeployLogger(), hosts, cluster);
+ return createNodesFromHosts(context.getDeployLogger(), context.featureFlags(), hosts, cluster);
}
private List<ApplicationContainer> createNodesFromNodeType(ApplicationContainerCluster cluster, Element nodesElement, ConfigModelContext context) {
@@ -742,7 +743,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
Map<HostResource, ClusterMembership> hosts =
cluster.getRoot().hostSystem().allocateHosts(clusterSpec,
Capacity.fromRequiredNodeType(type), log);
- return createNodesFromHosts(context.getDeployLogger(), hosts, cluster);
+ return createNodesFromHosts(context.getDeployLogger(), context.featureFlags(), hosts, cluster);
}
private List<ApplicationContainer> createNodesFromContentServiceReference(ApplicationContainerCluster cluster, Element nodesElement, ConfigModelContext context) {
@@ -760,14 +761,14 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
referenceId,
cluster.getRoot().hostSystem(),
context.getDeployLogger());
- return createNodesFromHosts(context.getDeployLogger(), hosts, cluster);
+ return createNodesFromHosts(context.getDeployLogger(), context.featureFlags(), hosts, cluster);
}
- private List<ApplicationContainer> createNodesFromHosts(DeployLogger deployLogger, Map<HostResource, ClusterMembership> hosts, ApplicationContainerCluster cluster) {
+ private List<ApplicationContainer> createNodesFromHosts(DeployLogger deployLogger, FeatureFlags featureFlags, Map<HostResource, ClusterMembership> hosts, ApplicationContainerCluster cluster) {
List<ApplicationContainer> nodes = new ArrayList<>();
for (Map.Entry<HostResource, ClusterMembership> entry : hosts.entrySet()) {
String id = "container." + entry.getValue().index();
- ApplicationContainer container = new ApplicationContainer(cluster, id, entry.getValue().retired(), entry.getValue().index(), cluster.isHostedVespa());
+ ApplicationContainer container = new ApplicationContainer(cluster, featureFlags, id, entry.getValue().retired(), entry.getValue().index(), cluster.isHostedVespa());
container.setHostResource(entry.getKey());
container.initService(deployLogger);
nodes.add(container);
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerServiceBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerServiceBuilder.java
index fd0797d6098..ea4924d9aec 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerServiceBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerServiceBuilder.java
@@ -22,7 +22,7 @@ public class ContainerServiceBuilder extends VespaDomBuilder.DomConfigProducerBu
@Override
protected ApplicationContainer doBuild(DeployState deployState, AbstractConfigProducer parent, Element nodeElem) {
- return new ApplicationContainer(parent, id, index, deployState.isHosted());
+ return new ApplicationContainer(parent, deployState.featureFlags(), id, index, deployState.isHosted());
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/Content.java b/config-model/src/main/java/com/yahoo/vespa/model/content/Content.java
index b93f4405333..babfe3603b0 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/content/Content.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/content/Content.java
@@ -298,7 +298,7 @@ public class Content extends ConfigModel {
HostResource host = searchNode.getHostResource();
if (!processedHosts.contains(host)) {
String containerName = String.valueOf(searchNode.getDistributionKey());
- ApplicationContainer docprocService = new ApplicationContainer(indexingCluster, containerName, index,
+ ApplicationContainer docprocService = new ApplicationContainer(indexingCluster, modelContext.featureFlags(), containerName, index,
modelContext.getDeployState().isHosted());
index++;
docprocService.useDynamicPorts();