summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-06-14 12:07:26 +0200
committerHarald Musum <musum@verizonmedia.com>2021-06-14 12:07:26 +0200
commitb17d8cbd35fa2d1a9830edbe446881b750ee91fb (patch)
treec80c31ee2cae201d523eef1307e8717cdc4f69b0
parent6f95464a48c5b787c9b7cc0711071da4bc7b77f8 (diff)
Sort nodes by hostname to get deterministic metric reporting order
(and hopefully avoid changes to metric reporting time so we get double reporting or no reporting within a minute)
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java
index 9f84322fe0f..d8bbf305b57 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java
@@ -27,6 +27,7 @@ import com.yahoo.vespa.service.monitor.ServiceModel;
import com.yahoo.vespa.service.monitor.ServiceMonitor;
import java.time.Duration;
+import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -66,7 +67,9 @@ public class MetricsReporter extends NodeRepositoryMaintainer {
@Override
public double maintain() {
- NodeList nodes = nodeRepository().nodes().list();
+ // Sort by hostname to get deterministic metric reporting order (and hopefully avoid changes
+ // to metric reporting time so we get double reporting or no reporting within a minute)
+ NodeList nodes = nodeRepository().nodes().list().sortedBy(Comparator.comparing(Node::hostname));
ServiceModel serviceModel = serviceMonitor.getServiceModelSnapshot();
updateZoneMetrics();