summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2019-11-08 12:36:22 +0100
committerHarald Musum <musum@verizonmedia.com>2019-11-08 12:36:22 +0100
commitcc98e0ce3d908f87e642cc6a43af2ef75b96104b (patch)
tree37900fd73a27b68f3eb812fef89302014d54e150 /node-repository
parent3197465b375861068e78699fb35181b9270a3b22 (diff)
Log parent hosts that are not ready
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java13
1 files changed, 10 insertions, 3 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 e994e86d07c..fae490a64a3 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
@@ -6,6 +6,7 @@ import com.yahoo.config.provision.ClusterMembership;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.HostSpec;
import com.yahoo.config.provision.ParentHostUnavailableException;
+import com.yahoo.log.LogLevel;
import com.yahoo.transaction.Mutex;
import com.yahoo.transaction.NestedTransaction;
import com.yahoo.vespa.hosted.provision.Node;
@@ -19,6 +20,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Optional;
import java.util.Set;
+import java.util.logging.Logger;
import java.util.stream.Collectors;
/**
@@ -28,6 +30,8 @@ import java.util.stream.Collectors;
*/
class Activator {
+ private static final Logger logger = Logger.getLogger(InfraDeployerImpl.class.getName());
+
private final NodeRepository nodeRepository;
private final Optional<LoadBalancerProvisioner> loadBalancerProvisioner;
@@ -108,12 +112,15 @@ class Activator {
.flatMap(Optional::stream)
.collect(Collectors.toSet());
- long numNonActive = nodes.asList().stream()
+ Set<String> nonActiveHosts = nodes.asList().stream()
.filter(node -> parentHostnames.contains(node.hostname()))
.filter(node -> node.state() != Node.State.active)
- .count();
-
+ .map(Node::hostname)
+ .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.");
}