diff options
author | Jon Bratseth <bratseth@gmail.com> | 2023-01-06 13:41:50 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2023-01-06 13:41:50 +0100 |
commit | 5aa8ec40e24c26cdeb5b99da0e013e13f58bb673 (patch) | |
tree | 0de2d0566a3f740432bb2ae83b2de0cf4ed474ba /node-repository | |
parent | 7d839355259eca823da9396c1ed15b43f7c98768 (diff) |
Log in deficit
Diffstat (limited to 'node-repository')
2 files changed, 9 insertions, 0 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java index 15e508fadf1..46cc32c7156 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java @@ -109,6 +109,9 @@ public class GroupPreparer { HostSharing sharing = hostSharing(cluster, hostType); Version osVersion = nodeRepository.osVersions().targetFor(hostType).orElse(Version.emptyVersion); NodeAllocation.HostDeficit deficit = allocation.hostDeficit().get(); + // TODO: Remove + log.info("In " + application + ": " + deficit + ": " + + allocation.lastOffered().stream().map(n -> n.toString() + "[resizable: " + n.isResizable).collect(Collectors.joining(", "))); List<Node> hosts = new ArrayList<>(); Consumer<List<ProvisionedHost>> provisionedHostsConsumer = provisionedHosts -> { diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java index 61ca7c914c0..63d5db09380 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java @@ -84,6 +84,8 @@ class NodeAllocation { private final NodeResourceLimits nodeResourceLimits; private final Optional<String> requiredHostFlavor; + private List<NodeCandidate> lastOffered; + NodeAllocation(NodesAndHosts<? extends NodeList> allNodesAndHosts, ApplicationId application, ClusterSpec cluster, NodeSpec requestedNodes, Supplier<Integer> nextIndex, NodeRepository nodeRepository) { this.allNodesAndHosts = allNodesAndHosts; @@ -98,6 +100,7 @@ class NodeAllocation { .with(FetchVector.Dimension.CLUSTER_TYPE, cluster.type().name()) .value()) .filter(s -> !s.isBlank()); + this.lastOffered = List.of(); } /** @@ -110,6 +113,7 @@ class NodeAllocation { * @param candidates the nodes which are potentially on offer. These may belong to a different application etc. */ void offer(List<NodeCandidate> candidates) { + lastOffered = List.copyOf(candidates); for (NodeCandidate candidate : candidates) { if (candidate.allocation().isPresent()) { Allocation allocation = candidate.allocation().get(); @@ -158,6 +162,8 @@ class NodeAllocation { } } + public List<NodeCandidate> lastOffered() { return lastOffered; } + /** Returns the cause of retirement for given candidate */ private Retirement shouldRetire(NodeCandidate candidate, List<NodeCandidate> candidates) { if ( ! requestedNodes.considerRetiring()) { |