summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorbjormel <bjormel@yahooinc.com>2023-11-23 10:25:07 +0000
committerbjormel <bjormel@yahooinc.com>2023-11-23 10:25:07 +0000
commita2ee4e69cc539461b09071bb49e70c68fc910595 (patch)
tree199444627d1441877cd5577ca907a2bc0d21bee2 /node-repository
parentafde670ae04cd7e4645a180816a61c697d29698c (diff)
exclusive nodes not counted as empty with child in any state
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporterTest.java6
2 files changed, 7 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 99d627e58b1..e5941bedfb8 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
@@ -403,7 +403,7 @@ public class MetricsReporter extends NodeRepositoryMaintainer {
node.exclusiveToApplicationId().isPresent())
.matching(host -> host.history().hasEventBefore(History.Event.Type.activated,
now.minus(minActivePeriod)))
- .matching(host -> nodes.childrenOf(host).state(State.active).isEmpty())
+ .matching(host -> nodes.childrenOf(host).isEmpty())
.size();
metric.set(ConfigServerMetrics.NODES_EMPTY_EXCLUSIVE.baseName(), emptyHosts, null);
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporterTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporterTest.java
index 691e67d945c..d4771594569 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporterTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporterTest.java
@@ -368,6 +368,12 @@ public class MetricsReporterTest {
// Hosts are now in use
metricsReporter.maintain();
assertEquals(0, metric.values.get("nodes.emptyExclusive").intValue());
+
+ // Fail one node, parent should not be considered empty as the FailedExpirer will remove the node
+ tester.fail(tester.getNodes(app, Node.State.active).stream().findFirst().get().hostname());
+ metricsReporter.maintain();
+ assertEquals(0, metric.values.get("nodes.emptyExclusive").intValue());
+
}
private Number getMetric(String name, TestMetric metric, Map<String, String> dimensions) {