2525import org .opensearch .index .IndexNotFoundException ;
2626import org .opensearch .index .query .BoolQueryBuilder ;
2727import org .opensearch .index .query .TermQueryBuilder ;
28- import org .opensearch .ml .common .exception .MLResourceNotFoundException ;
2928import org .opensearch .ml .common .exception .MLValidationException ;
3029import org .opensearch .ml .common .transport .model_group .MLModelGroupDeleteAction ;
3130import 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