Skip to content

Commit 5544681

Browse files
fix for delete model group API throwing incorrect error when model index not created (#1485) (#1486)
* fix for delete model group API throwing incorrect error when model index not created Signed-off-by: Bhavana Ramaram <[email protected]> (cherry picked from commit 60ef0fd) Co-authored-by: Bhavana Ramaram <[email protected]>
1 parent 6f83b9f commit 5544681

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

plugin/src/main/java/org/opensearch/ml/action/model_group/DeleteModelGroupTransportAction.java

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import org.opensearch.index.IndexNotFoundException;
2626
import org.opensearch.index.query.BoolQueryBuilder;
2727
import org.opensearch.index.query.TermQueryBuilder;
28-
import org.opensearch.ml.common.exception.MLResourceNotFoundException;
2928
import org.opensearch.ml.common.exception.MLValidationException;
3029
import org.opensearch.ml.common.transport.model_group.MLModelGroupDeleteAction;
3130
import org.opensearch.ml.common.transport.model_group.MLModelGroupDeleteRequest;
@@ -84,26 +83,14 @@ protected void doExecute(Task task, ActionRequest request, ActionListener<Delete
8483
SearchRequest searchRequest = new SearchRequest(ML_MODEL_INDEX).source(searchSourceBuilder);
8584
client.search(searchRequest, ActionListener.wrap(mlModels -> {
8685
if (mlModels == null || mlModels.getHits().getTotalHits() == null || mlModels.getHits().getTotalHits().value == 0) {
87-
client.delete(deleteRequest, new ActionListener<DeleteResponse>() {
88-
@Override
89-
public void onResponse(DeleteResponse deleteResponse) {
90-
log.debug("Completed Delete Model Group Request, task id:{} deleted", modelGroupId);
91-
wrappedListener.onResponse(deleteResponse);
92-
}
93-
94-
@Override
95-
public void onFailure(Exception e) {
96-
log.error("Failed to delete ML Model Group " + modelGroupId, e);
97-
wrappedListener.onFailure(e);
98-
}
99-
});
86+
deleteModelGroup(deleteRequest, modelGroupId, wrappedListener);
10087
} else {
10188
throw new MLValidationException("Cannot delete the model group when it has associated model versions");
10289
}
10390

10491
}, e -> {
10592
if (e instanceof IndexNotFoundException) {
106-
wrappedListener.onFailure(new MLResourceNotFoundException("Fail to find model group"));
93+
deleteModelGroup(deleteRequest, modelGroupId, wrappedListener);
10794
} else {
10895
log.error("Failed to search models with the specified Model Group Id " + modelGroupId, e);
10996
wrappedListener.onFailure(e);
@@ -116,4 +103,20 @@ public void onFailure(Exception e) {
116103
}));
117104
}
118105
}
106+
107+
private void deleteModelGroup(DeleteRequest deleteRequest, String modelGroupId, ActionListener<DeleteResponse> actionListener) {
108+
client.delete(deleteRequest, new ActionListener<DeleteResponse>() {
109+
@Override
110+
public void onResponse(DeleteResponse deleteResponse) {
111+
log.debug("Completed Delete Model Group Request, task id:{} deleted", modelGroupId);
112+
actionListener.onResponse(deleteResponse);
113+
}
114+
115+
@Override
116+
public void onFailure(Exception e) {
117+
log.error("Failed to delete ML Model Group " + modelGroupId, e);
118+
actionListener.onFailure(e);
119+
}
120+
});
121+
}
119122
}

0 commit comments

Comments
 (0)