aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-05-05 12:44:15 +0200
committerHarald Musum <musum@yahooinc.com>2023-05-05 12:44:15 +0200
commite94ca2fc03c6582c2f6b23a2e7e00ac3c6bc5a29 (patch)
tree529cf1320cec0ce76284dda61d045595fc91c153
parent8b752afea75acc648bf3f0c5fa6138fc12f09b09 (diff)
Cleanup and simplify
Remove yApacheAccessLog, cannot be used. Model version is always 8, simplify Other minor cleanup
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/component/AccessLogComponent.java72
1 files changed, 32 insertions, 40 deletions
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 c19973716de..13c5d0518a4 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
@@ -2,17 +2,18 @@
package com.yahoo.vespa.model.container.component;
import com.yahoo.container.core.AccessLogConfig;
-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;
+import static com.yahoo.container.core.AccessLogConfig.FileHandler.CompressionFormat.Enum.GZIP;
+import static com.yahoo.container.core.AccessLogConfig.FileHandler.CompressionFormat.Enum.ZSTD;
+
/**
* @author Tony Vaagenes
* @author gjoranv
@@ -20,7 +21,7 @@ import java.util.Optional;
public final class AccessLogComponent extends SimpleComponent implements AccessLogConfig.Producer {
- public enum AccessLogType { queryAccessLog, yApacheAccessLog, jsonAccessLog }
+ public enum AccessLogType { queryAccessLog, jsonAccessLog }
public enum CompressionType { GZIP, ZSTD }
private final String fileNamePattern;
@@ -32,28 +33,25 @@ public final class AccessLogComponent extends SimpleComponent implements AccessL
private final int queueSize;
private final Integer bufferSize;
- public AccessLogComponent(ContainerCluster<?> cluster, AccessLogType logType, String compressionType, Optional<String> clusterName, boolean isHostedVespa)
- {
+ public AccessLogComponent(ContainerCluster<?> cluster,
+ AccessLogType logType,
+ String compressionType,
+ Optional<String> clusterName,
+ boolean isHostedVespa) {
// 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: Vespa > 8: Clean up
- 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"),
+ String.format("logs/vespa/access/%s.%s",
+ capitalize(logTypeAndClusterName(logType, clusterName)),
+ "%Y%m%d%H%M%S"),
null,
null,
isHostedVespa,
- clusterName.isEmpty() ? capitalize(logType.name()) :
- capitalize(logType.name()) + "." + clusterName.get(),
+ capitalize(logTypeAndClusterName(logType, clusterName)),
-1,
((cluster instanceof ApplicationContainerCluster) ? 4 << 20 : null));
}
- private static String capitalize(String name) {
- return name.substring(0, 1).toUpperCase() + name.substring(1);
- }
-
public AccessLogComponent(AccessLogType logType,
String compressionType,
String fileNamePattern,
@@ -62,8 +60,7 @@ public final class AccessLogComponent extends SimpleComponent implements AccessL
boolean isHostedVespa,
String symlinkName,
Integer queueSize,
- Integer bufferSize)
- {
+ Integer bufferSize) {
super(new ComponentModel(accessLogClass(logType), null, null, null));
this.fileNamePattern = Objects.requireNonNull(fileNamePattern, "File name pattern required when configuring access log");
this.rotationInterval = rotationInterval;
@@ -75,15 +72,21 @@ public final class AccessLogComponent extends SimpleComponent implements AccessL
this.bufferSize = bufferSize;
}
+ private static String capitalize(String name) {
+ return name.substring(0, 1).toUpperCase() + name.substring(1);
+ }
+
+ private static String logTypeAndClusterName(AccessLogType logType, Optional<String> clusterName) {
+ return clusterName.isEmpty()
+ ? logType.name()
+ : logType.name() + "." + clusterName.get();
+ }
+
private static String accessLogClass(AccessLogType logType) {
- switch (logType) {
- case queryAccessLog:
- return VespaAccessLog.class.getName();
- case jsonAccessLog:
- return JSONAccessLog.class.getName();
- default:
- throw new AssertionError();
- }
+ return switch (logType) {
+ case queryAccessLog -> VespaAccessLog.class.getName();
+ case jsonAccessLog -> JSONAccessLog.class.getName();
+ };
}
@Override
@@ -108,21 +111,10 @@ public final class AccessLogComponent extends SimpleComponent implements AccessL
if (bufferSize != null) {
builder.bufferSize(bufferSize);
}
- switch (compressionType) {
- case GZIP:
- builder.compressionFormat(CompressionFormat.GZIP);
- break;
- case ZSTD:
- builder.compressionFormat(CompressionFormat.ZSTD);
- break;
- default:
- throw new IllegalArgumentException("Unknown compression type: " + compressionType);
- }
- return builder;
- }
-
- public String getFileNamePattern() {
- return fileNamePattern;
+ return switch (compressionType) {
+ case GZIP -> builder.compressionFormat(GZIP);
+ case ZSTD -> builder.compressionFormat(ZSTD);
+ };
}
}