aboutsummaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-01-31 00:45:27 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2022-01-31 00:45:27 +0100
commitd8e06c26f45d3d92d131263286b7b538aa172908 (patch)
tree1eed2cea653c7605fccfb9e95a1c3c2831beeb31 /config-model
parent431c2763a3b7f624769c3ac1ed3ce88ef229a167 (diff)
Ensure deterministic ordering of array config
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/ConsumersConfigGenerator.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/Metric.java4
2 files changed, 5 insertions, 3 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/ConsumersConfigGenerator.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/ConsumersConfigGenerator.java
index e894fba079d..ae2139be43c 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/ConsumersConfigGenerator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/ConsumersConfigGenerator.java
@@ -8,9 +8,11 @@ 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 java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import java.util.TreeMap;
import java.util.stream.Collectors;
/**
@@ -71,7 +73,7 @@ class ConsumersConfigGenerator {
static Consumer.Builder toConsumerBuilder(MetricsConsumer consumer) {
Consumer.Builder builder = new Consumer.Builder().name(consumer.id());
- consumer.metrics().values().forEach(metric -> builder.metric(toConsumerMetricBuilder(metric)));
+ consumer.metrics().values().stream().sorted(Comparator.comparing(a -> a.name)).forEach(metric -> builder.metric(toConsumerMetricBuilder(metric)));
return builder;
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/Metric.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/Metric.java
index e5e5a30e34f..c2b0a358a54 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/Metric.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/Metric.java
@@ -25,11 +25,11 @@ public class Metric {
this.name = name;
this.outputName = outputName;
this.description = description;
- this.dimensions = Collections.unmodifiableMap(dimensions);
+ this.dimensions = Map.copyOf(dimensions);
}
public Metric(String name, String outputName, String description) {
- this(name, outputName, description, new HashMap<>());
+ this(name, outputName, description, new LinkedHashMap<>());
}
/**