aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository/src
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2020-05-18 17:11:42 +0200
committerJon Bratseth <bratseth@gmail.com>2020-05-18 17:11:42 +0200
commitb9905b7315e434216cb2115b98f7cdae82194cdf (patch)
tree1e63d9a62e4882c07ea5402859a8ac6f81759b90 /node-repository/src
parenta7bd707706e7bfbc57bfbaa123e94b5bc2e456c7 (diff)
Check args
Diffstat (limited to 'node-repository/src')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocationOptimizer.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Limits.java8
2 files changed, 9 insertions, 3 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocationOptimizer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocationOptimizer.java
index e3f3a98a560..f0f53161d9b 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocationOptimizer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocationOptimizer.java
@@ -40,8 +40,8 @@ public class AllocationOptimizer {
AllocatableClusterResources current,
Limits limits) {
if (limits.isEmpty())
- limits = new Limits(new ClusterResources(minimumNodes, 1, NodeResources.unspecified),
- new ClusterResources(maximumNodes, maximumNodes, NodeResources.unspecified));
+ limits = Limits.of(new ClusterResources(minimumNodes, 1, NodeResources.unspecified),
+ new ClusterResources(maximumNodes, maximumNodes, NodeResources.unspecified));
Optional<AllocatableClusterResources> bestAllocation = Optional.empty();
for (int groups = limits.min().groups(); groups <= limits.max().groups(); groups++) {
for (int nodes = limits.min().nodes(); nodes <= limits.max().nodes(); nodes++) {
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Limits.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Limits.java
index 111ded22c0d..15bf4427346 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Limits.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Limits.java
@@ -6,6 +6,8 @@ import com.yahoo.config.provision.ClusterResources;
import com.yahoo.config.provision.NodeResources;
import com.yahoo.vespa.hosted.provision.applications.Cluster;
+import java.util.Objects;
+
/**
* Optional allocation limits
*
@@ -17,7 +19,7 @@ public class Limits {
private final ClusterResources min, max;
- public Limits(ClusterResources min, ClusterResources max) {
+ private Limits(ClusterResources min, ClusterResources max) {
this.min = min;
this.max = max;
}
@@ -60,6 +62,10 @@ public class Limits {
return new Limits(capacity.minResources(), capacity.maxResources());
}
+ public static Limits of(ClusterResources min, ClusterResources max) {
+ return new Limits(Objects.requireNonNull(min, "min"), Objects.requireNonNull(max, "max"));
+ }
+
@Override
public String toString() {
if (isEmpty()) return "no limits";