summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2024-01-02 11:18:12 +0100
committerHarald Musum <musum@yahooinc.com>2024-01-02 11:18:12 +0100
commit9a4fc8eb55df849ea823909b34338506e7a1b44f (patch)
treeab3780487dcc7e9625b13debb02b44718bd1a151
parentf10979f97f25a7d989dc26b958bd2321f258112e (diff)
Add ModelInfo constructor with non-optional OnnxModelOptions
-rw-r--r--config-model-api/abi-spec.json2
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/OnnxModelCost.java14
-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/change/RestartOnDeployForOnnxModelChangesValidatorTest.java3
4 files changed, 17 insertions, 3 deletions
diff --git a/config-model-api/abi-spec.json b/config-model-api/abi-spec.json
index c3e20e534ff..8c5bf410015 100644
--- a/config-model-api/abi-spec.json
+++ b/config-model-api/abi-spec.json
@@ -1501,7 +1501,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..650ce1ac14c 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,8 +18,10 @@ public interface OnnxModelCost {
interface Calculator {
long aggregatedModelCostInBytes();
+ // TODO: Unused, remove when 8.263.7 is oldest model in use
void registerModel(ApplicationFile path);
void registerModel(ApplicationFile path, OnnxModelOptions onnxModelOptions);
+ // TODO: Unused, remove when 8.263.7 is oldest model in use
void registerModel(URI uri);
void registerModel(URI uri, OnnxModelOptions onnxModelOptions);
Map<String, ModelInfo> models();
@@ -28,7 +30,17 @@ 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(); }
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/change/RestartOnDeployForOnnxModelChangesValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/RestartOnDeployForOnnxModelChangesValidatorTest.java
index adcf58785fa..d0f5f01d61e 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;
@@ -99,7 +98,7 @@ public class RestartOnDeployForOnnxModelChangesValidatorTest {
@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