summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@verizonmedia.com>2019-09-09 21:46:51 +0200
committerValerij Fredriksen <valerijf@verizonmedia.com>2019-09-09 21:50:05 +0200
commitbf1742faf1124d791a09a1fc7f8d10436d642af8 (patch)
tree660cce3119e717988f8e6ab7ae712b5fbfdbb5d7 /node-repository
parent1452a77c5c21a92992cfddc73bf27ed8a40000dd (diff)
Simplify parent host to ready error message.
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java28
1 files changed, 7 insertions, 21 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java
index 725a3426eae..8a6f308eb34 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java
@@ -17,10 +17,8 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Optional;
import java.util.Set;
-import java.util.function.Function;
import java.util.stream.Collectors;
/**
@@ -110,26 +108,14 @@ class Activator {
.flatMap(Optional::stream)
.collect(Collectors.toSet());
- Map<String, Node> parentsByHostname = nodes.asList().stream()
+ long numNonActive = nodes.asList().stream()
.filter(node -> parentHostnames.contains(node.hostname()))
- .collect(Collectors.toMap(Node::hostname, Function.identity()));
-
- List<Node> unavailableChildren = potentialChildren.stream()
- .filter(child -> child.parentHostname()
- .map(parentsByHostname::get)
- .map(parent -> parent.state() != Node.State.active)
- .orElse(false))
- .collect(Collectors.toList());
-
- if (!unavailableChildren.isEmpty()) {
- String detailedError = unavailableChildren.stream()
- .map(child -> child.parentHostname()
- .map(parentsByHostname::get)
- .map(parent -> String.format("Refusing to activate %s: Its parent (%s) is not active (is %s).",
- child.hostname(), parent.hostname(), parent.state())))
- .flatMap(Optional::stream)
- .collect(Collectors.joining(" "));
- throw new ParentHostUnavailableException("Activation of " + application + " failed: " + detailedError);
+ .filter(node -> node.state() != Node.State.active)
+ .count();
+
+ if (numNonActive > 0) {
+ throw new ParentHostUnavailableException("Waiting for hosts to finish booting: " +
+ numNonActive + "/" + parentHostnames.size() + " left.");
}
}