From c7a0edb4b093520caccd59a4b4021ee163cba059 Mon Sep 17 00:00:00 2001 From: Tor Brede Vekterli Date: Mon, 29 Jan 2024 13:17:20 +0100 Subject: Use sentinel value for missing buckets rather than throwing Bucket count should have been pre-verified as present by the caller. --- .../com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'clustercontroller-core') diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java index eed8bc7ce92..814cb48c49f 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/NodeStateChangeChecker.java @@ -135,7 +135,7 @@ public class NodeStateChangeChecker { long lastEntries = metrics.entries.get().getLast(); long lastDocs = metrics.docs.get().getLast(); if (lastEntries != 0) { - long buckets = metrics.buckets.orElseThrow().getLast(); + long buckets = metrics.buckets.map(Metrics.Value::getLast).orElse(-1L); long tombstones = lastEntries - lastDocs; // docs are a subset of entries, so |docs| <= |entries| return Optional.of(disallow("The storage node stores %d documents and %d tombstones across %d buckets".formatted(lastDocs, tombstones, buckets))); } -- cgit v1.2.3