diff options
author | Håkon Hallingstad <hakon@verizonmedia.com> | 2019-12-02 18:46:32 +0100 |
---|---|---|
committer | Håkon Hallingstad <hakon@verizonmedia.com> | 2019-12-02 18:46:32 +0100 |
commit | b2e11aee6682d25f2ed78b5a5a39bcb9f69ef89c (patch) | |
tree | 962bf786bd28f42acf1e7315e880e9b0e3650e96 /node-repository | |
parent | 907e4dfc9b711cc112fe251098ea84a08ffaff98 (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.java | 24 |
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); } } |