Skip to content

Commit c6f6d82

Browse files
author
Chuyang Deng
committed
Continue deleting models with failed delete requests.
1 parent c552c04 commit c6f6d82

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

src/sagemaker/predictor.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,15 @@ def delete_model(self):
132132
"""Deletes the Amazon SageMaker models backing this predictor.
133133
134134
"""
135-
try:
136-
for model_name in self._model_names:
135+
request_failed = False
136+
for model_name in self._model_names:
137+
try:
137138
self.sagemaker_session.delete_model(model_name)
138-
except Exception:
139-
raise Exception('One or more models cannot be deleted, the deletion is incomplete.')
139+
except Exception: # pylint: disable=broad-except
140+
request_failed = True
141+
142+
if request_failed:
143+
raise Exception('One or more models cannot be deleted, please retry.')
140144

141145
def _get_endpoint_config_name(self):
142146
endpoint_desc = self.sagemaker_session.sagemaker_client.describe_endpoint(EndpointName=self.endpoint)

tests/unit/test_predictor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ def test_delete_model():
504504
def test_delete_model_fail():
505505
sagemaker_session = empty_sagemaker_session()
506506
sagemaker_session.sagemaker_client.delete_model = Mock(side_effect='Could not find model.')
507-
expected_error_message = 'One or more models cannot be deleted, the deletion is incomplete.'
507+
expected_error_message = 'One or more models cannot be deleted, please retry.'
508508

509509
predictor = RealTimePredictor(ENDPOINT, sagemaker_session=sagemaker_session)
510510

0 commit comments

Comments
 (0)