summaryrefslogtreecommitdiffstats
path: root/config-model-api/src
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-12-08 12:07:59 +0100
committerHarald Musum <musum@yahooinc.com>2023-12-08 12:07:59 +0100
commit96cba97a152b9c67da0a5860e920ab5a39887a94 (patch)
tree5ca6a11863f9736f4c39ee13de7a0bc770c8cc72 /config-model-api/src
parent2908eb01b5d7d8d427af68efe1f05cc225a76423 (diff)
Add validator that checks if restart is needed due to Onnx model changes
Validates changes and creates a restart action if needed and makes sure configs for cluster are marked as restartOnDeploy
Diffstat (limited to 'config-model-api/src')
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java1
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/OnnxModelCost.java11
2 files changed, 11 insertions, 1 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
index f34f63a0cfc..e5cc13719c1 100644
--- a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
+++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
@@ -118,6 +118,7 @@ public interface ModelContext {
@ModelFeatureFlag(owners = {"baldersheim"}) default boolean alwaysMarkPhraseExpensive() { return false; }
@ModelFeatureFlag(owners = {"baldersheim"}) default boolean createPostinglistWhenNonStrict() { return true; }
@ModelFeatureFlag(owners = {"baldersheim"}) default boolean useEstimateForFetchPostings() { return false; }
+ @ModelFeatureFlag(owners = {"hmusum"}) default boolean restartOnDeployWhenOnnxModelChanges() { return false; }
}
/** Warning: As elsewhere in this package, do not make backwards incompatible changes that will break old config models! */
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 b98667457e4..c13ce4def09 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
@@ -6,11 +6,12 @@ import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.provision.ApplicationId;
import java.net.URI;
+import java.util.Map;
+import java.util.Optional;
/**
* @author bjorncs
*/
-// TODO: Rename
public interface OnnxModelCost {
Calculator newCalculator(ApplicationPackage appPkg, ApplicationId applicationId);
@@ -21,8 +22,13 @@ public interface OnnxModelCost {
void registerModel(ApplicationFile path, OnnxModelOptions onnxModelOptions);
void registerModel(URI uri);
void registerModel(URI uri, OnnxModelOptions onnxModelOptions);
+ Map<String, ModelInfo> models();
+ void setRestartOnDeploy();
+ boolean restartOnDeploy();
}
+ record ModelInfo(String modelId, long estimatedCost, long hash, Optional<OnnxModelOptions> onnxModelOptions) {}
+
static OnnxModelCost disabled() { return new DisabledOnnxModelCost(); }
class DisabledOnnxModelCost implements OnnxModelCost, Calculator {
@@ -32,6 +38,9 @@ public interface OnnxModelCost {
@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() {}
+ @Override public boolean restartOnDeploy() { return false; }
}
}