aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@verizonmedia.com>2019-12-02 18:46:32 +0100
committerHåkon Hallingstad <hakon@verizonmedia.com>2019-12-02 18:46:32 +0100
commitb2e11aee6682d25f2ed78b5a5a39bcb9f69ef89c (patch)
tree962bf786bd28f42acf1e7315e880e9b0e3650e96 /node-repository
parent907e4dfc9b711cc112fe251098ea84a08ffaff98 (diff)
Make parent-host-not-ready warning more user-friendly
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java24
1 files changed, 20 insertions, 4 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 a885b26b6cd..dd6cd84a9f2 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
@@ -119,10 +119,26 @@ class Activator {
.collect(Collectors.toSet());
long numNonActive = nonActiveHosts.size();
if (numNonActive > 0) {
- // Note: log parent hosts not ready, but do not add to exception (to avoid leaking hostnames)
- logger.log(LogLevel.INFO, application + ": Parent hosts not ready: " + nonActiveHosts);
- throw new ParentHostUnavailableException("Waiting for hosts to finish booting: " +
- numNonActive + "/" + parentHostnames.size() + " left.");
+ long numActive = parentHostnames.size() - numNonActive;
+ var messageBuilder = new StringBuilder()
+ .append(numActive).append("/").append(parentHostnames.size())
+ .append(" hosts have completed provisioning and bootstrapping, still waiting for ");
+
+ if (nonActiveHosts.size() <= 5) {
+ messageBuilder.append(nonActiveHosts.stream()
+ .sorted()
+ .collect(Collectors.joining(", ")));
+ } else {
+ messageBuilder.append(nonActiveHosts.stream()
+ .sorted()
+ .limit(3)
+ .collect(Collectors.joining(", ")))
+ .append(", and others");
+ }
+ var message = messageBuilder.toString();
+
+ logger.log(LogLevel.INFO, application + ": " + message);
+ throw new ParentHostUnavailableException(message);
}
}