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; }