diff options
author | Bjørn Meland <bjormel@users.noreply.github.com> | 2022-05-11 09:03:58 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-11 09:03:58 +0200 |
commit | 631c539a74a1500b7956071e1ccf375e45ceca7b (patch) | |
tree | 8c4fa858fa9bcb13d21c89fb509a9daf07308f52 /config-model | |
parent | 151367f523587ad8fc6551b5e7902fe5fe85d200 (diff) | |
parent | ea2ad512d877d8252c6303206c2e7dbfe56e37b4 (diff) |
Merge pull request #22477 from vespa-engine/bjormel/access-logging-defaults-in-hosted
Hosted: Stop using clusterName as part of log files for application containers
Diffstat (limited to 'config-model')
5 files changed, 25 insertions, 9 deletions
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 2be56d2e469..0dd04a409ae 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 @@ -11,6 +11,8 @@ import com.yahoo.vespa.model.container.component.AccessLogComponent; import com.yahoo.vespa.model.container.component.AccessLogComponent.AccessLogType; import com.yahoo.vespa.model.container.component.AccessLogComponent.CompressionType; +import java.util.Optional; + /** * Container that should be running on same host as the logserver. Sets up a handler for getting logs from logserver. * Only in use in hosted Vespa. @@ -21,7 +23,7 @@ public class LogserverContainer extends Container { super(parent, "" + 0, 0, deployState); LogserverContainerCluster cluster = (LogserverContainerCluster) parent; addComponent(new AccessLogComponent( - cluster, AccessLogType.jsonAccessLog, CompressionType.GZIP, cluster.getName(), true)); + cluster, AccessLogType.jsonAccessLog, CompressionType.GZIP, Optional.of(cluster.getName()), true)); } @Override 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 dbc055ef02e..45e9b3a905a 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 @@ -25,6 +25,7 @@ import com.yahoo.vespa.model.container.component.SystemBindingPattern; import com.yahoo.vespa.model.container.xml.ContainerModelBuilder; import com.yahoo.vespa.model.container.PlatformBundles; +import java.util.Optional; import java.util.Set; import java.util.TreeSet; @@ -66,7 +67,7 @@ public class ClusterControllerContainer extends Container implements CLUSTERCONTROLLER_BUNDLE); addComponent(new AccessLogComponent(containerCluster().orElse(null), AccessLogComponent.AccessLogType.jsonAccessLog, AccessLogComponent.CompressionType.GZIP, - "controller", + Optional.of("controller"), deployState.isHosted())); // TODO: Why are bundles added here instead of in the cluster? 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 b6ddeb57cd4..f159362d750 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 @@ -60,7 +60,7 @@ public class MetricsProxyContainer extends Container implements addNodeSpecificComponents(); addComponent(new AccessLogComponent(containerCluster().orElse(null), AccessLogComponent.AccessLogType.jsonAccessLog, AccessLogComponent.CompressionType.ZSTD, - "metrics-proxy", + Optional.of("metrics-proxy"), deployState.isHosted())); } 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 04301ff6380..7f7e608aa19 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 @@ -550,7 +550,9 @@ public abstract class ContainerCluster<CONTAINER extends Container> public void addDefaultSearchAccessLog() { var compressionType = isHostedVespa ? AccessLogComponent.CompressionType.ZSTD : AccessLogComponent.CompressionType.GZIP; - addComponent(new AccessLogComponent(this, AccessLogComponent.AccessLogType.jsonAccessLog, compressionType, getName(), isHostedVespa)); + // In hosted Vespa with one application container per node we do not use the container name to distinguish log files + Optional<String> clusterName = isHostedVespa ? Optional.empty() : Optional.of(getName()); + addComponent(new AccessLogComponent(this, AccessLogComponent.AccessLogType.jsonAccessLog, compressionType, clusterName, isHostedVespa)); } @Override diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/component/AccessLogComponent.java b/config-model/src/main/java/com/yahoo/vespa/model/container/component/AccessLogComponent.java index 78fea787b7c..e29ca9399e5 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/component/AccessLogComponent.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/component/AccessLogComponent.java @@ -6,10 +6,12 @@ import com.yahoo.container.core.AccessLogConfig.FileHandler.CompressionFormat; import com.yahoo.container.logging.JSONAccessLog; import com.yahoo.container.logging.VespaAccessLog; import com.yahoo.osgi.provider.model.ComponentModel; +import com.yahoo.vespa.model.VespaVersion; import com.yahoo.vespa.model.container.ApplicationContainerCluster; import com.yahoo.vespa.model.container.ContainerCluster; import java.util.Objects; +import java.util.Optional; /** * @author Tony Vaagenes @@ -30,12 +32,21 @@ public final class AccessLogComponent extends SimpleComponent implements AccessL private final int queueSize; private final Integer bufferSize; - public AccessLogComponent(ContainerCluster<?> cluster, AccessLogType logType, CompressionType compressionType, String clusterName, boolean isHostedVespa) + public AccessLogComponent(ContainerCluster<?> cluster, AccessLogType logType, CompressionType compressionType, Optional<String> clusterName, boolean isHostedVespa) { - this(logType, compressionType, - String.format("logs/vespa/qrs/%s.%s.%s", capitalize(logType.name()), clusterName, "%Y%m%d%H%M%S"), - null, null, isHostedVespa, - capitalize(logType.name()) + "." + clusterName, -1, + // In hosted Vespa we do not use the clusterName when setting up application ContainerCluster logging + this(logType, + compressionType, + clusterName.isEmpty() ? String.format("logs/vespa/access/%s.%s", capitalize(logType.name()), "%Y%m%d%H%M%S") : + // TODO: Clean up after Vespa 8 + VespaVersion.major == 7 ? String.format("logs/vespa/qrs/%s.%s.%s", capitalize(logType.name()), clusterName.get(), "%Y%m%d%H%M%S") : + String.format("logs/vespa/access/%s.%s.%s", capitalize(logType.name()), clusterName.get(), "%Y%m%d%H%M%S"), + null, + null, + isHostedVespa, + clusterName.isEmpty() ? capitalize(logType.name()) : + capitalize(logType.name()) + "." + clusterName.get(), + -1, ((cluster instanceof ApplicationContainerCluster) ? 4*1024*1024 : null)); } |