summaryrefslogtreecommitdiffstats
path: root/config-model/src
diff options
context:
space:
mode:
authorArne Juul <arnej@yahooinc.com>2023-03-16 13:18:20 +0000
committerArne Juul <arnej@yahooinc.com>2023-03-16 13:18:20 +0000
commit1641255efaca1da2e8bb534d8ce4f2f37cae0f67 (patch)
tree2c79012bcb732574a12d61138ac64bd305955a15 /config-model/src
parentbff9f5c0f51338a2d2fc11cab4355b65bf051307 (diff)
refactor LogctlSpec and use List for deterministic ordering
Diffstat (limited to 'config-model/src')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/ConfigSentinel.java3
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/LogctlSpec.java10
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java19
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java2
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java9
5 files changed, 22 insertions, 21 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/ConfigSentinel.java b/config-model/src/main/java/com/yahoo/vespa/model/ConfigSentinel.java
index da4cabcf9f5..35d7b2d225e 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/ConfigSentinel.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/ConfigSentinel.java
@@ -95,7 +95,8 @@ public class ConfigSentinel extends AbstractService implements SentinelConfig.Pr
serviceBuilder.environ(b -> b.varname(entry.getKey()).varvalue(entry.getValue().toString()));
}
for (var entry : s.getLogctlSpecs()) {
- serviceBuilder.logctl(b -> b.componentSpec(entry.componentSpec).levelsModSpec(entry.levelsModSpec));
+ serviceBuilder.logctl(b -> b.componentSpec(entry.componentSpec())
+ .levelsModSpec(entry.levelsModSpec().toLogctlModSpec()));
}
setPreShutdownCommand(serviceBuilder, s);
return serviceBuilder;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/LogctlSpec.java b/config-model/src/main/java/com/yahoo/vespa/model/LogctlSpec.java
index fd959943eab..d927c38082e 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/LogctlSpec.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/LogctlSpec.java
@@ -1,11 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.model;
-public class LogctlSpec {
- public final String componentSpec;
- public final String levelsModSpec;
- public LogctlSpec(String componentSpec, String levelsModSpec) {
- this.componentSpec = componentSpec;
- this.levelsModSpec = levelsModSpec;
- }
+import com.yahoo.container.logging.LevelsModSpec;
+
+public record LogctlSpec(String componentSpec, LevelsModSpec levelsModSpec) {
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java
index f7bc04b6da1..62cbf61b336 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java
@@ -30,7 +30,6 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
-import java.util.Set;
import static com.yahoo.vespa.model.admin.monitoring.MetricSet.empty;
@@ -328,22 +327,22 @@ public class Admin extends TreeConfigProducer<AnyConfigProducer> implements Seri
public List<LogctlSpec> getLogctlSpecs() {
return logctlSpecs;
}
- public void addLogctlCommand(String componentSpec, String levelsModSpec) {
- logctlSpecs.add(new LogctlSpec(componentSpec, levelsModSpec));
+ public void addLogctlCommand(String componentSpec, LevelsModSpec levelsModSpec) {
+ logctlSpecs.add(new LogctlSpec(componentSpec, levelsModSpec));
}
- private static Set<LogctlSpec> defaultLogctlSpecs() {
+ private static List<LogctlSpec> defaultLogctlSpecs() {
// Turn off info logging for all containers for some classes (unimportant log messages that create noise in vespa log)
- return Set.of(new LogctlSpec("com.yahoo.vespa.spifly.repackaged.spifly.BaseActivator", getLevelModSpec("-info")),
- new LogctlSpec("org.eclipse.jetty.server.Server", getLevelModSpec("-info")),
- new LogctlSpec("org.eclipse.jetty.server.handler.ContextHandler", getLevelModSpec("-info")),
- new LogctlSpec("org.eclipse.jetty.server.AbstractConnector", getLevelModSpec("-info")));
+ return List.of(new LogctlSpec("com.yahoo.vespa.spifly.repackaged.spifly.BaseActivator", getLevelModSpec("-info")),
+ new LogctlSpec("org.eclipse.jetty.server.Server", getLevelModSpec("-info")),
+ new LogctlSpec("org.eclipse.jetty.server.handler.ContextHandler", getLevelModSpec("-info")),
+ new LogctlSpec("org.eclipse.jetty.server.AbstractConnector", getLevelModSpec("-info")));
}
- static String getLevelModSpec(String levels) {
+ static LevelsModSpec getLevelModSpec(String levels) {
var levelSpec = new LevelsModSpec();
levelSpec.setLevels(levels);
- return levelSpec.toLogctlModSpec();
+ return levelSpec;
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java
index a29c0e69329..9280f0ceb9a 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java
@@ -117,7 +117,7 @@ public abstract class DomAdminBuilderBase extends VespaDomBuilder.DomConfigProdu
String levels = loggingSpec.requiredStringAttribute("levels");
var levelSpec = new LevelsModSpec();
levelSpec.setLevels(levels);
- admin.addLogctlCommand(componentSpec, levelSpec.toLogctlModSpec());
+ admin.addLogctlCommand(componentSpec, levelSpec);
}
void addLoggingSpecs(ModelElement loggingElement, Admin admin) {
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java
index 657d685684d..5559eb633ef 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java
@@ -274,8 +274,13 @@ public class AdminTestCase {
assertEquals(4, logctlSpecs.size()); // Default logctl specs
assertEquals(1, logctlSpecs
.stream()
- .filter(l -> (l.componentSpec.equals("com.yahoo.vespa.spifly.repackaged.spifly.BaseActivator")
- && l.levelsModSpec.equals("fatal=on,error=on,warning=on,info=off,event=on,config=on,debug=off,spam=off"))).count());
+ .filter(l -> (l.componentSpec()
+ .equals("com.yahoo.vespa.spifly.repackaged.spifly.BaseActivator")
+ &&
+ l.levelsModSpec()
+ .toLogctlModSpec()
+ .equals("fatal=on,error=on,warning=on,info=off,event=on,config=on,debug=off,spam=off")))
+ .count());
String localhostConfigId = "hosts/myhost0";
SentinelConfig sentinelConfig = vespaModel.getConfig(SentinelConfig.class, localhostConfigId);