From df0ed590b24b6deda8bd7b31c6c40e743a93f70e Mon Sep 17 00:00:00 2001 From: Bhavana Ramaram Date: Thu, 12 Dec 2024 13:47:05 -0600 Subject: [PATCH] fix for sync up job not working in 2.17 when upgraded from previous versions (#3241) * fix for sync up job not working in 2.17 when upgraded from previous versions Signed-off-by: Bhavana Goud Ramaram * add sync-up job in missing places Signed-off-by: Bhavana Goud Ramaram --------- Signed-off-by: Bhavana Goud Ramaram (cherry picked from commit c2a40c195402827fc5f113b865c12701f76fa60a) --- .../opensearch/ml/autoredeploy/MLModelAutoReDeployer.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/plugin/src/main/java/org/opensearch/ml/autoredeploy/MLModelAutoReDeployer.java b/plugin/src/main/java/org/opensearch/ml/autoredeploy/MLModelAutoReDeployer.java index ac38ce24c6..0b885ac9ab 100644 --- a/plugin/src/main/java/org/opensearch/ml/autoredeploy/MLModelAutoReDeployer.java +++ b/plugin/src/main/java/org/opensearch/ml/autoredeploy/MLModelAutoReDeployer.java @@ -186,6 +186,10 @@ private void triggerAutoDeployModels(List addedNodes) { modelAutoRedeployArrangements.add(modelAutoRedeployArrangement); }); redeployAModel(); + } else { + log.info("Could not find any models in the index, not performing auto reloading!"); + startCronjobAndClearListener(); + return; } }, e -> { if (e instanceof IndexNotFoundException) { @@ -261,6 +265,7 @@ private void queryRunningModels(ActionListener listener) { private void triggerModelRedeploy(ModelAutoRedeployArrangement modelAutoRedeployArrangement) { if (modelAutoRedeployArrangement == null) { log.info("No more models in arrangement, skipping the redeployment"); + startCronjobAndClearListener(); return; } String modelId = modelAutoRedeployArrangement.getSearchResponse().getId(); @@ -275,10 +280,12 @@ private void triggerModelRedeploy(ModelAutoRedeployArrangement modelAutoRedeploy "Model function_name or algorithm is null, model is not in correct status, please check the model, model id is: {}", modelId ); + redeployAModel(); return; } if (FunctionName.REMOTE == FunctionName.from(functionName)) { log.info("Skipping redeploying remote model {} as remote model deployment can be done at prediction time.", modelId); + redeployAModel(); return; } List planningWorkerNodes = (List) sourceAsMap.get(MLModel.PLANNING_WORKER_NODES_FIELD); @@ -302,6 +309,7 @@ private void triggerModelRedeploy(ModelAutoRedeployArrangement modelAutoRedeploy .info( "Allow custom deployment plan is true and deploy to all nodes is false and added nodes are not in planning worker nodes list, not to auto redeploy the model to the new nodes!" ); + redeployAModel(); return; }