From 2901e1e9ef1932b0b3874e608422bbfdfbd1448a Mon Sep 17 00:00:00 2001 From: Tim Burke Date: Fri, 26 Jan 2018 14:14:18 -0800 Subject: Treat 404 as success when deleting segments Change-Id: I76be70ddb289bd4f1054a684a247279ab16ca34a --- swiftclient/service.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/swiftclient/service.py b/swiftclient/service.py index ed5e9e9..607c1ae 100644 --- a/swiftclient/service.py +++ b/swiftclient/service.py @@ -2471,17 +2471,18 @@ class SwiftService(object): def _delete_segment(conn, container, obj, results_queue=None): results_dict = {} try: - conn.delete_object(container, obj, response_dict=results_dict) res = {'success': True} + conn.delete_object(container, obj, response_dict=results_dict) except Exception as err: - traceback, err_time = report_traceback() - logger.exception(err) - res = { - 'success': False, - 'error': err, - 'traceback': traceback, - 'error_timestamp': err_time - } + if not isinstance(err, ClientException) or err.http_status != 404: + traceback, err_time = report_traceback() + logger.exception(err) + res = { + 'success': False, + 'error': err, + 'traceback': traceback, + 'error_timestamp': err_time + } res.update({ 'action': 'delete_segment', -- cgit v1.2.1