diff options
author | Valerij Fredriksen <freva@users.noreply.github.com> | 2023-01-06 14:06:53 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-06 14:06:53 +0100 |
commit | 57b477cd2740260b099fe7a57409fd21a058e97e (patch) | |
tree | 6fc814ac2c5a180028fb6256274b62be5366a43e /node-repository | |
parent | fe4569272171c53b966b363dae8be380e9938542 (diff) | |
parent | 5aa8ec40e24c26cdeb5b99da0e013e13f58bb673 (diff) |
Merge pull request #25428 from vespa-engine/bratseth/log-on-deficit
Log on 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()) { |