summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfig-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java13
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/component/AccessLogComponent.java22
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/component/ConnectionLogComponent.java20
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/AccessLogBuilder.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/ConfigServerContainerModelBuilder.java3
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/xml/AccessLogTest.java2
-rw-r--r--container-core/src/main/java/com/yahoo/container/logging/AccessLogHandler.java8
-rw-r--r--container-core/src/main/java/com/yahoo/container/logging/FileConnectionLog.java8
8 files changed, 23 insertions, 54 deletions
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 c715081329a..d05650b10b5 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
@@ -70,7 +70,6 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
-import java.util.OptionalDouble;
import java.util.Set;
/**
@@ -652,16 +651,4 @@ public abstract class ContainerCluster<CONTAINER extends Container>
public boolean getDeferChangesUntilRestart() { return deferChangesUntilRestart; }
- /**
- * Effective vcpu for the containers in cluster. Use this value as scale factor for performance/resource tuning.
- * @deprecated Use {@link Runtime#availableProcessors()} directly on receiver of config instead.
- **/
- @Deprecated(forRemoval = true)
- public OptionalDouble vcpu() {
- return getContainers().stream()
- .filter(c -> c.getHostResource() != null && c.getHostResource().realResources() != null)
- .mapToDouble(c -> c.getHostResource().realResources().vcpu())
- .max(); // Use highest vcpu as scale factor
- }
-
}
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 88aaf78ccec..33e712feeb1 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
@@ -9,8 +9,6 @@ import com.yahoo.osgi.provider.model.ComponentModel;
import com.yahoo.vespa.model.container.ApplicationContainerCluster;
import com.yahoo.vespa.model.container.ContainerCluster;
-import java.util.OptionalInt;
-
/**
* @author Tony Vaagenes
* @author gjoranv
@@ -32,11 +30,10 @@ public final class AccessLogComponent extends SimpleComponent implements AccessL
public AccessLogComponent(ContainerCluster<?> cluster, AccessLogType logType, CompressionType compressionType, String clusterName, boolean isHostedVespa)
{
- this(cluster, logType, compressionType,
+ 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,
- queueSize(cluster).orElse(-1),
+ capitalize(logType.name()) + "." + clusterName, -1,
((cluster instanceof ApplicationContainerCluster) ? 4*1024*1024 : null));
}
@@ -44,8 +41,7 @@ public final class AccessLogComponent extends SimpleComponent implements AccessL
return name.substring(0, 1).toUpperCase() + name.substring(1);
}
- public AccessLogComponent(ContainerCluster<?> cluster,
- AccessLogType logType,
+ public AccessLogComponent(AccessLogType logType,
CompressionType compressionType,
String fileNamePattern,
String rotationInterval,
@@ -69,14 +65,6 @@ public final class AccessLogComponent extends SimpleComponent implements AccessL
throw new RuntimeException("File name pattern required when configuring access log.");
}
- @SuppressWarnings("removal")
- private static OptionalInt queueSize(ContainerCluster<?> cluster) {
- if (cluster == null) return OptionalInt.empty();
- double vcpu = cluster.vcpu().orElse(0);
- if (vcpu <= 0) return OptionalInt.empty();
- return OptionalInt.of((int) Math.max(4096, Math.ceil(vcpu * 256.0)));
- }
-
private static String accessLogClass(AccessLogType logType) {
switch (logType) {
case queryAccessLog:
@@ -106,9 +94,7 @@ public final class AccessLogComponent extends SimpleComponent implements AccessL
} else if (isHostedVespa) {
builder.compressOnRotation(true);
}
- if (queueSize >= 0) {
- builder.queueSize(queueSize);
- }
+ builder.queueSize(queueSize);
if (bufferSize != null) {
builder.bufferSize(bufferSize);
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/component/ConnectionLogComponent.java b/config-model/src/main/java/com/yahoo/vespa/model/container/component/ConnectionLogComponent.java
index ec3a4d0834a..4afac252085 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/component/ConnectionLogComponent.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/component/ConnectionLogComponent.java
@@ -6,39 +6,25 @@ import com.yahoo.container.logging.ConnectionLog;
import com.yahoo.container.logging.ConnectionLogConfig;
import com.yahoo.vespa.model.container.ContainerCluster;
-import java.util.OptionalInt;
-
public class ConnectionLogComponent extends SimpleComponent implements ConnectionLogConfig.Producer {
private final String logDirectoryName;
private final String clusterName;
- private final int queueSize;
public ConnectionLogComponent(ContainerCluster<?> cluster, Class<? extends ConnectionLog> cls, String logDirectoryName) {
- this(cluster, cls, logDirectoryName, cluster.getName());
+ this(cls, logDirectoryName, cluster.getName());
}
- public ConnectionLogComponent(ContainerCluster<?> cluster, Class<? extends ConnectionLog> cls, String logDirectoryName, String clusterName) {
+ public ConnectionLogComponent(Class<? extends ConnectionLog> cls, String logDirectoryName, String clusterName) {
super(cls.getName());
this.logDirectoryName = logDirectoryName;
this.clusterName = clusterName;
- this.queueSize = queueSize(cluster).orElse(-1);
- }
-
- @SuppressWarnings("removal")
- private static OptionalInt queueSize(ContainerCluster<?> cluster) {
- if (cluster == null) return OptionalInt.empty();
- double vcpu = cluster.vcpu().orElse(0);
- if (vcpu <= 0) return OptionalInt.empty();
- return OptionalInt.of((int) Math.max(4096, Math.ceil(vcpu * 512.0)));
}
@Override
public void getConfig(ConnectionLogConfig.Builder builder) {
builder.cluster(clusterName);
builder.logDirectoryName(logDirectoryName);
- if (queueSize >= 0) {
- builder.queueSize(queueSize);
- }
+ builder.queueSize(-1);
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/AccessLogBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/AccessLogBuilder.java
index d7812e9b4ff..62f04edf0ae 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/AccessLogBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/AccessLogBuilder.java
@@ -55,7 +55,6 @@ public class AccessLogBuilder {
@Override
protected AccessLogComponent doBuild(DeployState deployState, AbstractConfigProducer<?> ancestor, Element spec) {
return new AccessLogComponent(
- (ContainerCluster<?>) ancestor,
accessLogType,
compressionType(spec, isHostedVespa),
fileNamePattern(spec),
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ConfigServerContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ConfigServerContainerModelBuilder.java
index a1f52cca9fd..75f11020c15 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ConfigServerContainerModelBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ConfigServerContainerModelBuilder.java
@@ -6,7 +6,6 @@ import com.yahoo.config.model.deploy.DeployState;
import com.yahoo.container.logging.FileConnectionLog;
import com.yahoo.vespa.model.container.ApplicationContainerCluster;
import com.yahoo.vespa.model.container.ContainerModel;
-import com.yahoo.vespa.model.container.ContainerModelEvaluation;
import com.yahoo.vespa.model.container.component.AccessLogComponent;
import com.yahoo.vespa.model.container.component.ConnectionLogComponent;
import com.yahoo.vespa.model.container.configserver.ConfigserverCluster;
@@ -48,7 +47,7 @@ public class ConfigServerContainerModelBuilder extends ContainerModelBuilder {
if (isHosted()){
cluster.addComponent(
new AccessLogComponent(
- cluster, AccessLogComponent.AccessLogType.jsonAccessLog, AccessLogComponent.CompressionType.ZSTD,
+ AccessLogComponent.AccessLogType.jsonAccessLog, AccessLogComponent.CompressionType.ZSTD,
"logs/vespa/configserver/access-json.log.%Y%m%d%H%M%S", null, true, true, "access-json.log", 1024,256*1024));
cluster.addComponent(new ConnectionLogComponent(cluster, FileConnectionLog.class, "configserver"));
} else {
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/AccessLogTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/AccessLogTest.java
index 80aafdd4ec7..06281c7b57e 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/AccessLogTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/AccessLogTest.java
@@ -117,7 +117,7 @@ public class AccessLogTest extends ContainerModelBuilderTestBase {
assertNotNull(connectionLogComponent);
ConnectionLogConfig config = root.getConfig(ConnectionLogConfig.class, "default/component/com.yahoo.container.logging.FileConnectionLog");
assertEquals("default", config.cluster());
- assertEquals(10000, config.queueSize());
+ assertEquals(-1, config.queueSize());
assertEquals(256*1024, config.bufferSize());
}
diff --git a/container-core/src/main/java/com/yahoo/container/logging/AccessLogHandler.java b/container-core/src/main/java/com/yahoo/container/logging/AccessLogHandler.java
index f14479899f5..55c3ad2ca8e 100644
--- a/container-core/src/main/java/com/yahoo/container/logging/AccessLogHandler.java
+++ b/container-core/src/main/java/com/yahoo/container/logging/AccessLogHandler.java
@@ -13,13 +13,19 @@ class AccessLogHandler {
AccessLogHandler(AccessLogConfig.FileHandler config, LogWriter<RequestLogEntry> logWriter) {
logFileHandler = new LogFileHandler<>(
toCompression(config), config.bufferSize(), config.pattern(), config.rotation(),
- config.symlink(), config.queueSize(), "request-logger", logWriter);
+ config.symlink(), queueSize(config), "request-logger", logWriter);
+ }
+
+ private static int queueSize(AccessLogConfig.FileHandler config) {
+ if (config.queueSize() != -1) return config.queueSize();
+ return Math.max(4096, Runtime.getRuntime().availableProcessors() * 256);
}
public void log(RequestLogEntry entry) {
logFileHandler.publish(entry);
}
+
private LogFileHandler.Compression toCompression(AccessLogConfig.FileHandler config) {
if (!config.compressOnRotation()) return LogFileHandler.Compression.NONE;
switch (config.compressionFormat()) {
diff --git a/container-core/src/main/java/com/yahoo/container/logging/FileConnectionLog.java b/container-core/src/main/java/com/yahoo/container/logging/FileConnectionLog.java
index 749426d3da9..273d562d048 100644
--- a/container-core/src/main/java/com/yahoo/container/logging/FileConnectionLog.java
+++ b/container-core/src/main/java/com/yahoo/container/logging/FileConnectionLog.java
@@ -14,7 +14,13 @@ public class FileConnectionLog extends AbstractComponent implements ConnectionLo
@Inject
public FileConnectionLog(ConnectionLogConfig config) {
- logHandler = new ConnectionLogHandler(config.logDirectoryName(), config.bufferSize(), config.cluster(), config.queueSize(), new JsonConnectionLogWriter());
+ logHandler = new ConnectionLogHandler(config.logDirectoryName(), config.bufferSize(), config.cluster(),
+ queueSize(config), new JsonConnectionLogWriter());
+ }
+
+ private static int queueSize(ConnectionLogConfig config) {
+ if (config.queueSize() != -1) return config.queueSize();
+ return Math.max(4096, Runtime.getRuntime().availableProcessors() * 512);
}
@Override