aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2024-01-02 19:35:32 +0100
committerGitHub <noreply@github.com>2024-01-02 19:35:32 +0100
commitf1bf39b2ac7a495aa59939ffcb3f730bf809e521 (patch)
treebef0114f95859d5335f4c042f5eb1101583c0bcc
parent16a9a6cacefb90fce4a49150fd8220afc22599a9 (diff)
parentad34380cb7eec0fa49534bbd8c8423157b0bfa64 (diff)
Merge pull request #29767 from vespa-engine/hmusum/constructor-without-optional-arg
Hmusum/constructor without optional arg
-rw-r--r--config-model-api/abi-spec.json8
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/OnnxModelCost.java24
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/Validation.java1
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/JvmHeapSizeValidatorTest.java7
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/RestartOnDeployForOnnxModelChangesValidatorTest.java9
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