aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-12-19 22:50:45 +0100
committerHarald Musum <musum@yahooinc.com>2023-12-19 22:50:45 +0100
commit8146bbf2e2b022902bfed1c93d1d084471cb22a9 (patch)
treea3ad74bc54aa559809145babc70e000c97f6a695
parent2e8de87bcd8f7b6b9c39b25877b0a6600580cf7d (diff)
Store onnx model info after deciding if we need to restart on deploy
Need to store (in ZK) so that info is available on all config servers
-rw-r--r--config-model-api/abi-spec.json6
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/OnnxModelCost.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/RestartOnDeployForOnnxModelChangesValidator.java1
3 files changed, 7 insertions, 2 deletions
diff --git a/config-model-api/abi-spec.json b/config-model-api/abi-spec.json
index d05360b8d1a..10c5662678e 100644
--- a/config-model-api/abi-spec.json
+++ b/config-model-api/abi-spec.json
@@ -1465,7 +1465,8 @@
"public abstract void registerModel(java.net.URI, com.yahoo.config.model.api.OnnxModelOptions)",
"public abstract java.util.Map models()",
"public abstract void setRestartOnDeploy()",
- "public abstract boolean restartOnDeploy()"
+ "public abstract boolean restartOnDeploy()",
+ "public abstract void store()"
],
"fields" : [ ]
},
@@ -1488,7 +1489,8 @@
"public void registerModel(java.net.URI, com.yahoo.config.model.api.OnnxModelOptions)",
"public java.util.Map models()",
"public void setRestartOnDeploy()",
- "public boolean restartOnDeploy()"
+ "public boolean restartOnDeploy()",
+ "public void store()"
],
"fields" : [ ]
},
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 c13ce4def09..d70b751eba0 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
@@ -25,6 +25,7 @@ public interface OnnxModelCost {
Map<String, ModelInfo> models();
void setRestartOnDeploy();
boolean restartOnDeploy();
+ void store();
}
record ModelInfo(String modelId, long estimatedCost, long hash, Optional<OnnxModelOptions> onnxModelOptions) {}
@@ -41,6 +42,7 @@ public interface OnnxModelCost {
@Override public Map<String, ModelInfo> models() { return Map.of(); }
@Override public void setRestartOnDeploy() {}
@Override public boolean restartOnDeploy() { return false; }
+ @Override public void store() {}
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/RestartOnDeployForOnnxModelChangesValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/RestartOnDeployForOnnxModelChangesValidator.java
index 8da7f34048b..398538d187f 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/RestartOnDeployForOnnxModelChangesValidator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/RestartOnDeployForOnnxModelChangesValidator.java
@@ -99,6 +99,7 @@ public class RestartOnDeployForOnnxModelChangesValidator implements ChangeValida
private static void setRestartOnDeployAndAddRestartAction(List<ConfigChangeAction> actions, ApplicationContainerCluster cluster, String message) {
log.log(INFO, message);
cluster.onnxModelCostCalculator().setRestartOnDeploy();
+ cluster.onnxModelCostCalculator().store();
actions.add(new VespaRestartAction(cluster.id(), message));
}