summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorBjørn Meland <bjormel@users.noreply.github.com>2022-05-11 09:03:58 +0200
committerGitHub <noreply@github.com>2022-05-11 09:03:58 +0200
commit631c539a74a1500b7956071e1ccf375e45ceca7b (patch)
tree8c4fa858fa9bcb13d21c89fb509a9daf07308f52 /config-model
parent151367f523587ad8fc6551b5e7902fe5fe85d200 (diff)
parentea2ad512d877d8252c6303206c2e7dbfe56e37b4 (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')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainer.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java3
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java2
-rwxr-xr-xconfig-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/component/AccessLogComponent.java21
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));
}