diff options
Diffstat (limited to 'config-model/src/main/java/com/yahoo')
21 files changed, 31 insertions, 76 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/ApplicationConfigProducerRoot.java b/config-model/src/main/java/com/yahoo/config/model/ApplicationConfigProducerRoot.java index 7c805417739..f2d63f3bba4 100644 --- a/config-model/src/main/java/com/yahoo/config/model/ApplicationConfigProducerRoot.java +++ b/config-model/src/main/java/com/yahoo/config/model/ApplicationConfigProducerRoot.java @@ -102,21 +102,6 @@ public class ApplicationConfigProducerRoot extends TreeConfigProducer<AnyConfigP } /** - * Returns the Service with the given id, or null if no such - * configId exists or if it belongs to a non-Service ConfigProducer. - * - * @param configId The configId, e.g. "search.0/tld.0" - * @return Service with the given configId - */ - public Service getService(String configId) { - ConfigProducer cp = getConfigProducer(configId); - if (cp == null || !(cp instanceof Service)) { - return null; - } - return (Service) cp; - } - - /** * Adds the descendant (at any depth level), so it can be looked up * on configId in the Map. * diff --git a/config-model/src/main/java/com/yahoo/config/model/ConfigModel.java b/config-model/src/main/java/com/yahoo/config/model/ConfigModel.java index 2685570b444..051591baa75 100644 --- a/config-model/src/main/java/com/yahoo/config/model/ConfigModel.java +++ b/config-model/src/main/java/com/yahoo/config/model/ConfigModel.java @@ -51,7 +51,7 @@ public abstract class ConfigModel { * * @param configModelRepo The ConfigModelRepo of the system model */ - public void prepare(ConfigModelRepo configModelRepo, DeployState deployState) { return; } + public void prepare(ConfigModelRepo configModelRepo, DeployState deployState) { } /** * <p>Returns whether this model must be maintained in memory for serving config requests. diff --git a/config-model/src/main/java/com/yahoo/config/model/builder/xml/ConfigModelBuilder.java b/config-model/src/main/java/com/yahoo/config/model/builder/xml/ConfigModelBuilder.java index 45f64182b2a..8c72b5c0237 100644 --- a/config-model/src/main/java/com/yahoo/config/model/builder/xml/ConfigModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/config/model/builder/xml/ConfigModelBuilder.java @@ -88,10 +88,9 @@ public abstract class ConfigModelBuilder<MODEL extends ConfigModel> extends Abst @Override public boolean equals(Object other) { - if (!(other instanceof ConfigModelBuilder)) { + if (!(other instanceof ConfigModelBuilder<?> otherBuilder)) { return false; } - ConfigModelBuilder<?> otherBuilder = (ConfigModelBuilder<?>) other; List<ConfigModelId> thisIds = this.handlesElements(); List<ConfigModelId> otherIds = otherBuilder.handlesElements(); if (thisIds.size() != otherIds.size()) { diff --git a/config-model/src/main/java/com/yahoo/config/model/builder/xml/ConfigModelId.java b/config-model/src/main/java/com/yahoo/config/model/builder/xml/ConfigModelId.java index cd283866550..e1970b001e1 100644 --- a/config-model/src/main/java/com/yahoo/config/model/builder/xml/ConfigModelId.java +++ b/config-model/src/main/java/com/yahoo/config/model/builder/xml/ConfigModelId.java @@ -42,8 +42,7 @@ public class ConfigModelId implements Comparable<ConfigModelId> { @Override public boolean equals(Object object) { - if (!(object instanceof ConfigModelId)) return false; - ConfigModelId other = (ConfigModelId)object; + if (!(object instanceof ConfigModelId other)) return false; return this.name.equals(other.name) && this.version.equals(other.version); } diff --git a/config-model/src/main/java/com/yahoo/config/model/producer/AnyConfigProducer.java b/config-model/src/main/java/com/yahoo/config/model/producer/AnyConfigProducer.java index cd21fccd855..547e81354eb 100644 --- a/config-model/src/main/java/com/yahoo/config/model/producer/AnyConfigProducer.java +++ b/config-model/src/main/java/com/yahoo/config/model/producer/AnyConfigProducer.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.config.model.producer; -import com.yahoo.api.annotations.Beta; import com.yahoo.config.ConfigInstance; import com.yahoo.config.model.ApplicationConfigProducerRoot; import com.yahoo.config.model.deploy.DeployState; @@ -16,11 +15,8 @@ import com.yahoo.vespa.model.HostSystem; import com.yahoo.vespa.model.Service; import com.yahoo.vespa.model.admin.Admin; import com.yahoo.vespa.model.admin.monitoring.Monitoring; - import java.io.Serializable; -import java.util.Collections; import java.util.List; -import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; diff --git a/config-model/src/main/java/com/yahoo/config/model/producer/TreeConfigProducer.java b/config-model/src/main/java/com/yahoo/config/model/producer/TreeConfigProducer.java index 012bffaf7f6..30f9cd202ff 100644 --- a/config-model/src/main/java/com/yahoo/config/model/producer/TreeConfigProducer.java +++ b/config-model/src/main/java/com/yahoo/config/model/producer/TreeConfigProducer.java @@ -3,19 +3,14 @@ package com.yahoo.config.model.producer; import com.yahoo.api.annotations.Beta; import com.yahoo.config.model.ApplicationConfigProducerRoot; -import com.yahoo.vespa.model.ConfigProducer; import com.yahoo.vespa.model.Service; import com.yahoo.vespa.model.SimpleConfigProducer; import com.yahoo.vespa.model.utils.FreezableMap; -import java.io.PrintStream; -import java.io.Serializable; import java.util.ArrayList; import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.logging.Level; -import java.util.logging.Logger; /** * Superclass for all producers with children. diff --git a/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java b/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java index 9ee279c68d3..b5999c15fad 100644 --- a/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java +++ b/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java @@ -215,13 +215,6 @@ public class MockApplicationPackage implements ApplicationPackage { return new MockApplicationPackage.Builder().withHosts(emptyHosts).withServices(emptyServices).build(); } - public static ApplicationPackage fromSearchDefinitionDirectory(String dir) { - return new MockApplicationPackage.Builder() - .withEmptyHosts() - .withEmptyServices() - .withSchemaDir(dir).build(); - } - // TODO: It might work to just merge this and the above public static ApplicationPackage fromSearchDefinitionAndRootDirectory(String dir) { return new MockApplicationPackage.Builder() diff --git a/config-model/src/main/java/com/yahoo/config/model/test/MockRoot.java b/config-model/src/main/java/com/yahoo/config/model/test/MockRoot.java index 7b2aaa32136..365434b9de5 100644 --- a/config-model/src/main/java/com/yahoo/config/model/test/MockRoot.java +++ b/config-model/src/main/java/com/yahoo/config/model/test/MockRoot.java @@ -7,7 +7,6 @@ import com.yahoo.config.application.api.DeployLogger; import com.yahoo.config.model.ConfigModelRepo; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.AnyConfigProducer; -import com.yahoo.config.model.producer.TreeConfigProducer; import com.yahoo.config.model.producer.AbstractConfigProducerRoot; import com.yahoo.vespa.model.ConfigProducer; import com.yahoo.vespa.model.HostSystem; diff --git a/config-model/src/main/java/com/yahoo/config/model/test/ModelBuilderAddingAccessControlFilter.java b/config-model/src/main/java/com/yahoo/config/model/test/ModelBuilderAddingAccessControlFilter.java index 840d781ac9c..234aecc6228 100644 --- a/config-model/src/main/java/com/yahoo/config/model/test/ModelBuilderAddingAccessControlFilter.java +++ b/config-model/src/main/java/com/yahoo/config/model/test/ModelBuilderAddingAccessControlFilter.java @@ -45,8 +45,7 @@ public class ModelBuilderAddingAccessControlFilter } private static void addFilterToContainerCluster(ContainerModel containerModel) { - if (!(containerModel.getCluster() instanceof ApplicationContainerCluster)) return; - ApplicationContainerCluster cluster = (ApplicationContainerCluster) containerModel.getCluster(); + if (!(containerModel.getCluster() instanceof ApplicationContainerCluster cluster)) return; Http http = cluster.getHttp(); if (http.getAccessControl().isPresent()) { Chain<Filter> chain = http.getFilterChains() diff --git a/config-model/src/main/java/com/yahoo/config/model/test/TestDriver.java b/config-model/src/main/java/com/yahoo/config/model/test/TestDriver.java index fd98d21dcd5..7aca60bb930 100644 --- a/config-model/src/main/java/com/yahoo/config/model/test/TestDriver.java +++ b/config-model/src/main/java/com/yahoo/config/model/test/TestDriver.java @@ -21,7 +21,6 @@ import java.util.List; * xml string and returns a config producer that can be use to test getConfig. * * @author Ulf Lilleengen - * @since 5.1.20 */ @Beta public class TestDriver { diff --git a/config-model/src/main/java/com/yahoo/config/model/test/TestRoot.java b/config-model/src/main/java/com/yahoo/config/model/test/TestRoot.java index c1fd8e4646d..f243c4635c7 100644 --- a/config-model/src/main/java/com/yahoo/config/model/test/TestRoot.java +++ b/config-model/src/main/java/com/yahoo/config/model/test/TestRoot.java @@ -13,7 +13,6 @@ import java.util.List; * Test utility class that provides many methods for inspecting the state of a completely built model * * @author Ulf Lilleengen - * @since 5.1 */ @Beta public class TestRoot { diff --git a/config-model/src/main/java/com/yahoo/config/model/test/TestUtil.java b/config-model/src/main/java/com/yahoo/config/model/test/TestUtil.java index c05d7bf4942..24c418a9d2f 100644 --- a/config-model/src/main/java/com/yahoo/config/model/test/TestUtil.java +++ b/config-model/src/main/java/com/yahoo/config/model/test/TestUtil.java @@ -4,8 +4,6 @@ package com.yahoo.config.model.test; import com.yahoo.collections.CollectionUtil; import com.yahoo.config.model.builder.xml.XmlHelper; import org.w3c.dom.Element; -import org.xml.sax.InputSource; - import java.io.StringReader; import java.util.ArrayList; import java.util.Arrays; @@ -35,7 +33,4 @@ public class TestUtil { return String.join("\n", lines); } - private static InputSource inputSource(String str) { - return new InputSource(new StringReader(str)); - } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/HostPorts.java b/config-model/src/main/java/com/yahoo/vespa/model/HostPorts.java index 125966ae91d..2f704db1862 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/HostPorts.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/HostPorts.java @@ -22,11 +22,7 @@ public class HostPorts { public final static int BASE_PORT = 19100; final static int MAX_PORTS = 799; - private DeployLogger deployLogger = new DeployLogger() { - public void log(Level level, String message) { - System.err.println("deploy log["+level+"]: "+message); - } - }; + private DeployLogger deployLogger = (level, message) -> System.err.println("deploy log["+level+"]: "+message); private final Map<Integer, NetworkPortRequestor> portDB = new LinkedHashMap<>(); @@ -98,7 +94,7 @@ public class HostPorts { /** Allocate a specific port number for a service */ public int requireNetworkPort(int port, NetworkPortRequestor service, String suffix) { - reservePort(service, port, suffix); + reservePort(service, port); String servType = service.getServiceType(); String configId = service.getConfigId(); portFinder.use(new NetworkPorts.Allocation(port, servType, configId, suffix)); @@ -119,18 +115,13 @@ public class HostPorts { return requireNetworkPort(port, service, suffix); } - /** Convenience method to allocate a preferred or required port number for a service */ - public int wantNetworkPort(int port, NetworkPortRequestor service, String suffix, boolean forceRequired) { - return forceRequired ? requireNetworkPort(port, service, suffix) : wantNetworkPort(port, service, suffix); - } - /** Allocate a dynamic port number for a service */ public int allocateNetworkPort(NetworkPortRequestor service, String suffix) { String servType = service.getServiceType(); String configId = service.getConfigId(); int fallback = nextAvailableNetworkPort(); int port = portFinder.findPort(new NetworkPorts.Allocation(fallback, servType, configId, suffix), hostname); - reservePort(service, port, suffix); + reservePort(service, port); portFinder.use(new NetworkPorts.Allocation(port, servType, configId, suffix)); return port; } @@ -161,7 +152,7 @@ public class HostPorts { * @param service the service that wishes to reserve the port. * @param port the port to be reserved. */ - void reservePort(NetworkPortRequestor service, int port, String suffix) { + void reservePort(NetworkPortRequestor service, int port) { if (portDB.containsKey(port)) { portAlreadyReserved(service, port); } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java index 4e40bd768bf..dd1579eae17 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java @@ -24,7 +24,6 @@ import com.yahoo.config.model.api.Model; import com.yahoo.config.model.api.Provisioned; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.AnyConfigProducer; -import com.yahoo.config.model.producer.TreeConfigProducer; import com.yahoo.config.model.producer.AbstractConfigProducerRoot; import com.yahoo.config.model.producer.UserConfigRepo; import com.yahoo.config.provision.AllocatedHosts; diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java index 95ec1431cdd..d6f0df8e051 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java @@ -337,6 +337,8 @@ public class VespaMetricSet { private static Set<Metric> getSearchNodeMetrics() { Set<Metric> metrics = new LinkedHashSet<>(); + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_CONFIG_GENERATION.last()); + addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_DOCUMENTS_TOTAL.last()); addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_DOCUMENTS_READY.last()); addMetric(metrics, SearchNodeMetrics.CONTENT_PROTON_DOCUMENTDB_DOCUMENTS_ACTIVE.last()); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/UserConfigBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/UserConfigBuilder.java index b9ed8a3c97c..36ebbe41637 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/UserConfigBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/UserConfigBuilder.java @@ -38,7 +38,7 @@ public class UserConfigBuilder { ConfigDefinitionKey key = DomConfigPayloadBuilder.parseConfigName(element); Optional<ConfigDefinition> def = configDefinitionStore.getConfigDefinition(key); - if ( ! def.isPresent()) { // TODO: Fail instead of warn + if (def.isEmpty()) { // TODO: Fail instead of warn logger.logApplicationPackage(Level.WARNING, "Unable to find config definition '" + key.asFileName() + "'. Please ensure that the name is spelled correctly, and that the def file is included in a bundle."); } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/VespaModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/VespaModelBuilder.java index 3ad81ef9f57..c6844619457 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/VespaModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/VespaModelBuilder.java @@ -1,12 +1,11 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.builder; -import com.yahoo.config.application.api.DeployLogger; +import com.yahoo.config.model.ApplicationConfigProducerRoot; import com.yahoo.config.model.ConfigModelRepo; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.AnyConfigProducer; import com.yahoo.config.model.producer.TreeConfigProducer; -import com.yahoo.config.model.ApplicationConfigProducerRoot; /** * Base class for classes capable of building vespa model. diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilder.java index 5d17619b526..70bb80ec314 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomConfigPayloadBuilder.java @@ -2,7 +2,6 @@ package com.yahoo.vespa.model.builder.xml.dom; import com.yahoo.collections.Tuple2; -import com.yahoo.config.ConfigurationRuntimeException; import com.yahoo.config.FileReference; import com.yahoo.config.ModelReference; import com.yahoo.config.UrlReference; diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomHandlerBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomHandlerBuilder.java index 3cf8ec7375f..ed53a1d2267 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomHandlerBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomHandlerBuilder.java @@ -38,7 +38,7 @@ public class DomHandlerBuilder extends VespaDomBuilder.DomConfigProducerBuilderB VIP_HANDLER_BINDING); private final ApplicationContainerCluster cluster; - private OptionalInt portBindingOverride; + private final OptionalInt portBindingOverride; public DomHandlerBuilder(ApplicationContainerCluster cluster) { this(cluster, OptionalInt.empty()); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomRoutingBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomRoutingBuilder.java index 92b24f3f7ac..14a5b13d8d2 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomRoutingBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomRoutingBuilder.java @@ -2,18 +2,20 @@ package com.yahoo.vespa.model.builder.xml.dom; import com.yahoo.config.application.Xml; +import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.model.ConfigModelContext; import com.yahoo.config.model.builder.xml.ConfigModelBuilder; import com.yahoo.config.model.builder.xml.ConfigModelId; -import com.yahoo.messagebus.routing.*; +import com.yahoo.messagebus.routing.ApplicationSpec; +import com.yahoo.messagebus.routing.HopSpec; +import com.yahoo.messagebus.routing.RouteSpec; +import com.yahoo.messagebus.routing.RoutingSpec; +import com.yahoo.messagebus.routing.RoutingTableSpec; import com.yahoo.text.XML; -import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.vespa.model.routing.Routing; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; - -import java.util.Arrays; import java.util.List; /** @@ -29,7 +31,7 @@ public class DomRoutingBuilder extends ConfigModelBuilder<Routing> { @Override public List<ConfigModelId> handlesElements() { - return Arrays.asList(ConfigModelId.fromName("routing")); + return List.of(ConfigModelId.fromName("routing")); } // Overrides ConfigModelBuilder. @@ -71,7 +73,7 @@ public class DomRoutingBuilder extends ConfigModelBuilder<Routing> { * @param element The element to base the route config on. */ private static void addRoutingTable(RoutingSpec routing, Element element) { - boolean verify = element.hasAttribute("verify") ? Boolean.valueOf(element.getAttribute("verify")) : true; + boolean verify = shouldVerify(element); RoutingTableSpec table = new RoutingTableSpec(element.getAttribute("protocol"), verify); NodeList children = element.getChildNodes(); @@ -94,7 +96,7 @@ public class DomRoutingBuilder extends ConfigModelBuilder<Routing> { * @return The corresponding route spec. */ private static RouteSpec createRouteSpec(Element element) { - boolean verify = element.hasAttribute("verify") ? Boolean.valueOf(element.getAttribute("verify")) : true; + boolean verify = shouldVerify(element); RouteSpec route = new RouteSpec(element.getAttribute("name"), verify); String hops = element.getAttribute("hops"); int from = 0; @@ -123,9 +125,9 @@ public class DomRoutingBuilder extends ConfigModelBuilder<Routing> { * @return The corresponding hop spec. */ private static HopSpec createHopSpec(Element element) { - boolean verify = element.hasAttribute("verify") ? Boolean.valueOf(element.getAttribute("verify")) : true; + boolean verify = shouldVerify(element); HopSpec hop = new HopSpec(element.getAttribute("name"), element.getAttribute("selector"), verify); - if (Boolean.valueOf(element.getAttribute("ignore-result"))) { + if (Boolean.parseBoolean(element.getAttribute("ignore-result"))) { hop.setIgnoreResult(true); } NodeList children = element.getElementsByTagName("recipient"); @@ -135,4 +137,8 @@ public class DomRoutingBuilder extends ConfigModelBuilder<Routing> { } return hop; } + + private static boolean shouldVerify(Element element) { + return !element.hasAttribute("verify") || Boolean.parseBoolean(element.getAttribute("verify")); + } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/utils/Duration.java b/config-model/src/main/java/com/yahoo/vespa/model/utils/Duration.java index 5bb6d8cf6bf..f65b7a62f05 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/utils/Duration.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/utils/Duration.java @@ -20,8 +20,9 @@ import java.util.regex.Pattern; * Default is seconds. */ public class Duration { - private static Pattern pattern = Pattern.compile("([0-9\\.]+)\\s*([a-z]+)?"); - private static Map<String, Integer> unitMultiplier = new HashMap<>(); + + private static final Pattern pattern = Pattern.compile("([0-9\\.]+)\\s*([a-z]+)?"); + private static final Map<String, Integer> unitMultiplier = new HashMap<>(); static { unitMultiplier.put("s", 1000); unitMultiplier.put("d", 1000 * 3600 * 24); |