aboutsummaryrefslogtreecommitdiffstats
path: root/config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java
index d1274472328..7f563b876a7 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java
@@ -104,10 +104,10 @@ public class NodeResources {
}
public NodeResources(double vcpu, double memoryGb, double diskGb, double bandwidthGbps, DiskSpeed diskSpeed, StorageType storageType) {
- this.vcpu = vcpu;
- this.memoryGb = memoryGb;
- this.diskGb = diskGb;
- this.bandwidthGbps = bandwidthGbps;
+ this.vcpu = validate(vcpu, "vcpu");
+ this.memoryGb = validate(memoryGb, "memory");
+ this.diskGb = validate(diskGb, "disk");
+ this.bandwidthGbps = validate(bandwidthGbps, "bandwith");
this.diskSpeed = diskSpeed;
this.storageType = storageType;
}
@@ -310,4 +310,10 @@ public class NodeResources {
return new NodeResources(cpu, mem, dsk, 0.3, DiskSpeed.getDefault(), StorageType.getDefault());
}
+ private double validate(double value, String valueName) {
+ if (Double.isNaN(value)) throw new IllegalArgumentException(valueName + " cannot be NaN");
+ if (Double.isInfinite(value)) throw new IllegalArgumentException(valueName + " cannot be infinite");
+ return value;
+ }
+
}