diff options
author | Valerij Fredriksen <valerijf@verizonmedia.com> | 2019-09-09 21:46:51 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@verizonmedia.com> | 2019-09-09 21:50:05 +0200 |
commit | bf1742faf1124d791a09a1fc7f8d10436d642af8 (patch) | |
tree | 660cce3119e717988f8e6ab7ae712b5fbfdbb5d7 /node-repository | |
parent | 1452a77c5c21a92992cfddc73bf27ed8a40000dd (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.java | 28 |
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."); } } |