aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java
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 /node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java
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)
Diffstat (limited to 'node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java')
-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();