aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java31
1 files changed, 18 insertions, 13 deletions
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 0270e91b238..e5ed72ad8f9 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
@@ -36,8 +36,10 @@ import com.yahoo.config.provision.Zone;
import com.yahoo.config.provision.ZoneEndpoint;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.container.bundle.BundleInstantiationSpecification;
+import com.yahoo.container.logging.AccessLog;
import com.yahoo.container.logging.FileConnectionLog;
import com.yahoo.io.IOUtils;
+import com.yahoo.jdisc.http.server.jetty.VoidRequestLog;
import com.yahoo.osgi.provider.model.ComponentModel;
import com.yahoo.path.Path;
import com.yahoo.schema.OnnxModel;
@@ -417,19 +419,23 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
protected void addAccessLogs(DeployState deployState, ApplicationContainerCluster cluster, Element spec) {
List<Element> accessLogElements = getAccessLogElements(spec);
- if (cluster.isHostedVespa() && !accessLogElements.isEmpty()) {
- accessLogElements.clear();
- log.logApplicationPackage(
- Level.WARNING, "Applications are not allowed to override the 'accesslog' element");
- } else {
- for (Element accessLog : accessLogElements) {
- AccessLogBuilder.buildIfNotDisabled(deployState, cluster, accessLog).ifPresent(cluster::addComponent);
+ if (accessLogElements.isEmpty()) {
+ if (deployState.getAccessLoggingEnabledByDefault())
+ cluster.addAccessLog();
+ else
+ cluster.addVoidAccessLog();
+ }
+ else {
+ if (cluster.isHostedVespa()) {
+ log.logApplicationPackage(WARNING, "Applications are not allowed to override the 'accesslog' element");
+ } else {
+ cluster.addSimpleComponent(AccessLog.class);
+ for (Element accessLog : accessLogElements) {
+ AccessLogBuilder.buildIfNotDisabled(deployState, cluster, accessLog).ifPresent(cluster::addComponent);
+ }
}
}
- if (accessLogElements.isEmpty() && deployState.getAccessLoggingEnabledByDefault())
- cluster.addDefaultSearchAccessLog();
-
// Add connection log if access log is configured
if (cluster.getAllComponents().stream().anyMatch(component -> component instanceof AccessLogComponent))
cluster.addComponent(new ConnectionLogComponent(cluster, FileConnectionLog.class, "access"));
@@ -439,7 +445,6 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
return XML.getChildren(spec, "accesslog");
}
-
protected void addHttp(DeployState deployState, Element spec, ApplicationContainerCluster cluster, ConfigModelContext context) {
Element httpElement = XML.getChild(spec, "http");
if (httpElement != null) {
@@ -1217,7 +1222,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
private static final Pattern validPattern = Pattern.compile("-[a-zA-z0-9=:./,+*-]+");
// debug port will not be available in hosted, don't allow
- private static final Pattern invalidInHostedatttern = Pattern.compile("-Xrunjdwp:transport=.*");
+ private static final Pattern invalidInHostedPattern = Pattern.compile("-Xrunjdwp:transport=.*");
private final Element nodesElement;
private final DeployLogger logger;
@@ -1270,7 +1275,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
if (isHosted)
invalidOptions.addAll(Arrays.stream(optionList)
.filter(option -> !option.isEmpty())
- .filter(option -> Pattern.matches(invalidInHostedatttern.pattern(), option))
+ .filter(option -> Pattern.matches(invalidInHostedPattern.pattern(), option))
.sorted().toList());
if (invalidOptions.isEmpty()) return;