diff options
author | gjoranv <gv@oath.com> | 2018-09-05 16:25:53 +0200 |
---|---|---|
committer | gjoranv <gv@oath.com> | 2019-01-21 15:09:21 +0100 |
commit | b3380fef0bd85b31c6d71bbf4e2ef633c074079d (patch) | |
tree | 3d96c8527662c90afb4240d1101ca71dc343c604 /config-model | |
parent | 452678ef3262f788d58f2de596ca569dee1b8680 (diff) |
Remove support for deprecated 'metric-consumers' in 'admin'.
Diffstat (limited to 'config-model')
6 files changed, 10 insertions, 111 deletions
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 9e12886143d..6b0c9a1abb2 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 @@ -44,7 +44,6 @@ public class Admin extends AbstractConfigProducer implements Serializable { private final boolean isHostedVespa; private final Monitoring monitoring; private final Metrics metrics; - private final Map<String, MetricsConsumer> legacyMetricsConsumers; private final List<Configserver> configservers = new ArrayList<>(); private final List<Slobrok> slobroks = new ArrayList<>(); @@ -73,14 +72,16 @@ public class Admin extends AbstractConfigProducer implements Serializable { private FileDistributionConfigProducer fileDistribution; private final boolean multitenant; - public Admin(AbstractConfigProducer parent, Monitoring monitoring, Metrics metrics, - Map<String, MetricsConsumer> legacyMetricsConsumers, boolean multitenant, - FileDistributionConfigProducer fileDistributionConfigProducer,boolean isHostedVespa) { + public Admin(AbstractConfigProducer parent, + Monitoring monitoring, + Metrics metrics, + boolean multitenant, + FileDistributionConfigProducer fileDistributionConfigProducer, + boolean isHostedVespa) { super(parent, "admin"); this.isHostedVespa = isHostedVespa; this.monitoring = monitoring; this.metrics = metrics; - this.legacyMetricsConsumers = legacyMetricsConsumers; this.multitenant = multitenant; this.fileDistribution = fileDistributionConfigProducer; } @@ -94,11 +95,6 @@ public class Admin extends AbstractConfigProducer implements Serializable { public Metrics getUserMetrics() { return metrics; } - /** Returns the configured userMetricConsumers. Empty if not configured */ - public Map<String, MetricsConsumer> getLegacyUserMetricsConsumers(){ - return legacyMetricsConsumers; - } - /** Returns a list of all config servers */ public List<Configserver> getConfigservers() { return configservers; 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 fa28802b3ac..ecc91284a41 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 @@ -75,15 +75,9 @@ public abstract class DomAdminBuilderBase extends VespaDomBuilder.DomConfigProdu Monitoring monitoring = getMonitoring(getChildWithFallback(adminElement, "monitoring", "yamas")); Metrics metrics = new MetricsBuilder(applicationType, predefinedMetricSets) .buildMetrics(XML.getChild(adminElement, "metrics")); - Map<String, MetricsConsumer> legacyMetricsConsumers = DomMetricBuilderHelper - .buildMetricsConsumers(XML.getChild(adminElement, "metric-consumers")); - if (! legacyMetricsConsumers.isEmpty()) { - deployState.getDeployLogger().log(WARNING, "Element 'metric-consumers' is deprecated and will be removed in Vespa 7. Use 'metrics' instead!"); - } FileDistributionConfigProducer fileDistributionConfigProducer = getFileDistributionConfigProducer(parent); - Admin admin = new Admin(parent, monitoring, metrics, legacyMetricsConsumers, multitenant, - fileDistributionConfigProducer, deployState.isHosted()); + Admin admin = new Admin(parent, monitoring, metrics, multitenant, fileDistributionConfigProducer, deployState.isHosted()); admin.setApplicationType(applicationType); doBuildAdmin(deployState, admin, adminElement); new ModelConfigProvider(admin); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomMetricBuilderHelper.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomMetricBuilderHelper.java deleted file mode 100644 index 4c1fdd3f92c..00000000000 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomMetricBuilderHelper.java +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.model.builder.xml.dom; - -import com.yahoo.text.XML; -import com.yahoo.vespa.model.admin.monitoring.Metric; -import com.yahoo.vespa.model.admin.monitoring.MetricSet; -import com.yahoo.vespa.model.admin.monitoring.MetricsConsumer; -import org.w3c.dom.Element; - -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import static com.yahoo.vespa.model.admin.monitoring.DefaultMetricsConsumer.VESPA_CONSUMER_ID; - -/** - * Helper class for parsing metric config. - * - * TODO: Remove when 'metric-consumers' under 'admin' is disallowed - * - * @author Trygve Berdal - */ -public class DomMetricBuilderHelper { - - private static final String LEGACY_DEFAULT_CONSUMER_ID = "yamas"; - - /** - * Build metricConsumer config - * - * @param spec xml element - * @return a map from metric name to a {@link MetricsConsumer} - */ - protected static Map<String, MetricsConsumer> buildMetricsConsumers(Element spec) { - Map<String, MetricsConsumer> metricsConsumers = new LinkedHashMap<>(); - List<Element> consumersElem = XML.getChildren(spec, "consumer"); - for (Element consumer : consumersElem) { - String consumerName = getConsumerName(consumer); - Set<Metric> metrics = new LinkedHashSet<>(); - List<Element> metricsEl = XML.getChildren(consumer, "metric"); - if (metricsEl != null) { - for (Element metric : metricsEl) { - String metricName = metric.getAttribute("name"); - String outputName = metric.getAttribute("output-name"); - metrics.add(new Metric(metricName, outputName)); - } - } - MetricsConsumer metricsConsumer = new MetricsConsumer(consumerName, - new MetricSet(metricSetId(consumerName), metrics)); - metricsConsumers.put(consumerName, metricsConsumer); - } - return metricsConsumers; - } - - // Converts the old default consumer id to the new default id. - private static String getConsumerName(Element consumerElement) { - String givenName = consumerElement.getAttribute("name"); - if (givenName.equals(LEGACY_DEFAULT_CONSUMER_ID)) - return VESPA_CONSUMER_ID; - else - return givenName; - } - - private static String metricSetId(String consumerName) { - return "legacy-user-metrics-" + consumerName; - } -} diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java index fb3af7f3652..67e33d7b87a 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java @@ -716,17 +716,6 @@ public class ContentCluster extends AbstractConfigProducer implements addedmetrics("*"). removedtags("thread"). tags("disk")); - - Map<String, MetricsConsumer> consumers = getRoot().getAdmin().getLegacyUserMetricsConsumers(); - if (consumers != null) { - for (Map.Entry<String, MetricsConsumer> e : consumers.entrySet()) { - MetricsmanagerConfig.Consumer.Builder b = getMetricBuilder(e.getKey(), builder); - for (Metric m : e.getValue().getMetrics().values()) { - b.addedmetrics(m.name); - } - } - } - } private static final String DEFAULT_BUCKET_SPACE = "default"; diff --git a/config-model/src/main/resources/schema/admin.rnc b/config-model/src/main/resources/schema/admin.rnc index 37cd6476399..c30a856d942 100644 --- a/config-model/src/main/resources/schema/admin.rnc +++ b/config-model/src/main/resources/schema/admin.rnc @@ -11,7 +11,7 @@ AdminV2 = FileDistribution? & AdminSlobroks? & (LegacyAdminMonitoring | AdminMonitoring)? & - (LegacyMetricConsumers | Metrics)? & + Metrics? & ClusterControllers? & LogForwarding? } @@ -30,7 +30,7 @@ AdminV4 = AdminV4LogServers? & GenericConfig* & (LegacyAdminMonitoring | AdminMonitoring)? & - (LegacyMetricConsumers | Metrics)? & + Metrics? & LogForwarding? } @@ -94,17 +94,6 @@ Metrics = element metrics { }+ } -# TODO: Remove on Vespa 7 -LegacyMetricConsumers = element metric-consumers { - element consumer { - attribute name { xsd:string { pattern = "[a-zA-Z][_a-zA-Z0-9]*" } }& - element metric { - attribute name{xsd:Name} & - attribute output-name{xsd:Name}? - }+ - }+ -} - ClusterControllers = element cluster-controllers { attribute standalone-zookeeper { xsd:string }? & element cluster-controller { diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/utils/ContentClusterUtils.java b/config-model/src/test/java/com/yahoo/vespa/model/content/utils/ContentClusterUtils.java index fd97bf1f7b2..62d2bc51830 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/content/utils/ContentClusterUtils.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/content/utils/ContentClusterUtils.java @@ -59,8 +59,7 @@ public class ContentClusterUtils { public static ContentCluster createCluster(String clusterXml, MockRoot root) { Document doc = XML.getDocument(clusterXml); - Admin admin = new Admin(root, new DefaultMonitoring("vespa", 60), new Metrics(), - Collections.emptyMap(), false, + Admin admin = new Admin(root, new DefaultMonitoring("vespa", 60), new Metrics(), false, new FileDistributionConfigProducer(root, new MockFileRegistry(), null), root.getDeployState().isHosted()); ConfigModelContext context = ConfigModelContext.create(null, root.getDeployState(), |