diff options
author | Harald Musum <musum@yahooinc.com> | 2023-12-08 12:07:59 +0100 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2023-12-08 12:07:59 +0100 |
commit | 96cba97a152b9c67da0a5860e920ab5a39887a94 (patch) | |
tree | 5ca6a11863f9736f4c39ee13de7a0bc770c8cc72 /config-model-api/src | |
parent | 2908eb01b5d7d8d427af68efe1f05cc225a76423 (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.java | 1 | ||||
-rw-r--r-- | config-model-api/src/main/java/com/yahoo/config/model/api/OnnxModelCost.java | 11 |
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; } } } |