diff options
Diffstat (limited to 'config-provisioning/src/main/java')
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java | 14 |
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; + } + } |