diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2024-01-02 19:35:32 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-02 19:35:32 +0100 |
commit | f1bf39b2ac7a495aa59939ffcb3f730bf809e521 (patch) | |
tree | bef0114f95859d5335f4c042f5eb1101583c0bcc | |
parent | 16a9a6cacefb90fce4a49150fd8220afc22599a9 (diff) | |
parent | ad34380cb7eec0fa49534bbd8c8423157b0bfa64 (diff) |
Merge pull request #29767 from vespa-engine/hmusum/constructor-without-optional-arg
Hmusum/constructor without optional arg
5 files changed, 25 insertions, 24 deletions
diff --git a/config-model-api/abi-spec.json b/config-model-api/abi-spec.json index c3e20e534ff..692780f3eb3 100644 --- a/config-model-api/abi-spec.json +++ b/config-model-api/abi-spec.json @@ -1457,9 +1457,9 @@ ], "methods" : [ "public abstract long aggregatedModelCostInBytes()", - "public abstract void registerModel(com.yahoo.config.application.api.ApplicationFile)", + "public void registerModel(com.yahoo.config.application.api.ApplicationFile)", "public abstract void registerModel(com.yahoo.config.application.api.ApplicationFile, com.yahoo.config.model.api.OnnxModelOptions)", - "public abstract void registerModel(java.net.URI)", + "public void registerModel(java.net.URI)", "public abstract void registerModel(java.net.URI, com.yahoo.config.model.api.OnnxModelOptions)", "public abstract java.util.Map models()", "public abstract void setRestartOnDeploy()", @@ -1481,9 +1481,7 @@ "public void <init>()", "public com.yahoo.config.model.api.OnnxModelCost$Calculator newCalculator(com.yahoo.config.application.api.ApplicationPackage, com.yahoo.config.provision.ApplicationId)", "public long aggregatedModelCostInBytes()", - "public void registerModel(com.yahoo.config.application.api.ApplicationFile)", "public void registerModel(com.yahoo.config.application.api.ApplicationFile, com.yahoo.config.model.api.OnnxModelOptions)", - "public void registerModel(java.net.URI)", "public void registerModel(java.net.URI, com.yahoo.config.model.api.OnnxModelOptions)", "public java.util.Map models()", "public void setRestartOnDeploy()", @@ -1501,7 +1499,9 @@ "record" ], "methods" : [ + "public void <init>(java.lang.String, long, long, com.yahoo.config.model.api.OnnxModelOptions)", "public void <init>(java.lang.String, long, long, java.util.Optional)", + "public com.yahoo.config.model.api.OnnxModelOptions options()", "public final java.lang.String toString()", "public final int hashCode()", "public final boolean equals(java.lang.Object)", diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/OnnxModelCost.java b/config-model-api/src/main/java/com/yahoo/config/model/api/OnnxModelCost.java index d70b751eba0..69f2b6b6dce 100644 --- a/config-model-api/src/main/java/com/yahoo/config/model/api/OnnxModelCost.java +++ b/config-model-api/src/main/java/com/yahoo/config/model/api/OnnxModelCost.java @@ -18,9 +18,15 @@ public interface OnnxModelCost { interface Calculator { long aggregatedModelCostInBytes(); - void registerModel(ApplicationFile path); + // TODO: Unused, remove when 8.263.7 is oldest model in use + default void registerModel(ApplicationFile path) { + registerModel(path, OnnxModelOptions.empty()); + } void registerModel(ApplicationFile path, OnnxModelOptions onnxModelOptions); - void registerModel(URI uri); + // TODO: Unused, remove when 8.263.7 is oldest model in use + default void registerModel(URI uri) { + registerModel(uri, OnnxModelOptions.empty()); + } void registerModel(URI uri, OnnxModelOptions onnxModelOptions); Map<String, ModelInfo> models(); void setRestartOnDeploy(); @@ -28,16 +34,24 @@ public interface OnnxModelCost { void store(); } - record ModelInfo(String modelId, long estimatedCost, long hash, Optional<OnnxModelOptions> onnxModelOptions) {} + record ModelInfo(String modelId, long estimatedCost, long hash, Optional<OnnxModelOptions> onnxModelOptions) { + + public ModelInfo(String modelId, long estimatedCost, long hash, OnnxModelOptions onnxModelOptions) { + this(modelId, estimatedCost, hash, Optional.of(onnxModelOptions)); + } + + public OnnxModelOptions options() { + return onnxModelOptions.orElseThrow(() -> new IllegalStateException("No onnxModelOptions exist")); + } + + } static OnnxModelCost disabled() { return new DisabledOnnxModelCost(); } class DisabledOnnxModelCost implements OnnxModelCost, Calculator { @Override public Calculator newCalculator(ApplicationPackage appPkg, ApplicationId applicationId) { return this; } @Override public long aggregatedModelCostInBytes() {return 0;} - @Override public void registerModel(ApplicationFile path) {} @Override public void registerModel(ApplicationFile path, OnnxModelOptions onnxModelOptions) {} - @Override public void registerModel(URI uri) {} @Override public void registerModel(URI uri, OnnxModelOptions onnxModelOptions) {} @Override public Map<String, ModelInfo> models() { return Map.of(); } @Override public void setRestartOnDeploy() {} diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java index 56277345515..d296015580f 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java @@ -100,6 +100,7 @@ public class Validation { Optional<Model> currentActiveModel = deployState.getPreviousModel(); if (currentActiveModel.isPresent() && (currentActiveModel.get() instanceof VespaModel)) { result = validateChanges((VespaModel) currentActiveModel.get(), model, deployState); + // TODO: Why is this done here? It won't be done on more than one config server? deferConfigChangesForClustersToBeRestarted(result, model); } } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/JvmHeapSizeValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/JvmHeapSizeValidatorTest.java index 0b32194e257..31e4c661151 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/JvmHeapSizeValidatorTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/JvmHeapSizeValidatorTest.java @@ -126,16 +126,9 @@ class JvmHeapSizeValidatorTest { @Override public boolean restartOnDeploy() { return false;} @Override public void store() {} @Override public long aggregatedModelCostInBytes() { return totalCost.get(); } - @Override public void registerModel(ApplicationFile path) {} @Override public void registerModel(ApplicationFile path, OnnxModelOptions onnxModelOptions) {} @Override - public void registerModel(URI uri) { - assertEquals("https://my/url/model.onnx", uri.toString()); - totalCost.addAndGet(modelCost); - } - - @Override public void registerModel(URI uri, OnnxModelOptions onnxModelOptions) { assertEquals("https://my/url/model.onnx", uri.toString()); totalCost.addAndGet(modelCost); diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/RestartOnDeployForOnnxModelChangesValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/RestartOnDeployForOnnxModelChangesValidatorTest.java index adcf58785fa..13389689de5 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/RestartOnDeployForOnnxModelChangesValidatorTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/RestartOnDeployForOnnxModelChangesValidatorTest.java @@ -15,7 +15,6 @@ import java.net.URI; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Optional; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -89,17 +88,11 @@ public class RestartOnDeployForOnnxModelChangesValidatorTest { public long aggregatedModelCostInBytes() { return estimatedCost; } @Override - public void registerModel(ApplicationFile path) {} - - @Override public void registerModel(ApplicationFile path, OnnxModelOptions onnxModelOptions) {} @Override - public void registerModel(URI uri) {} - - @Override public void registerModel(URI uri, OnnxModelOptions onnxModelOptions) { - models.put(uri.toString(), new OnnxModelCost.ModelInfo(uri.toString(), estimatedCost, hash, Optional.ofNullable(onnxModelOptions))); + models.put(uri.toString(), new OnnxModelCost.ModelInfo(uri.toString(), estimatedCost, hash, onnxModelOptions)); } @Override |