diff --git a/swift/obj/expirer.py b/swift/obj/expirer.py index 012d0f033b..a65c828551 100644 --- a/swift/obj/expirer.py +++ b/swift/obj/expirer.py @@ -272,12 +272,18 @@ class ObjectExpirer(Daemon): self.pop_queue(container, obj) self.report_objects += 1 self.logger.increment('objects') + except UnexpectedResponse as err: + self.logger.increment('errors') + self.logger.error( + 'Unexpected response while deleting object %(container)s ' + '%(obj)s: %(err)s' % {'container': container, 'obj': obj, + 'err': str(err.resp.status_int)}) except (Exception, Timeout) as err: self.logger.increment('errors') self.logger.exception( - _('Exception while deleting object %(container)s %(obj)s' - ' %(err)s') % {'container': container, - 'obj': obj, 'err': str(err)}) + 'Exception while deleting object %(container)s %(obj)s' + ' %(err)s' % {'container': container, + 'obj': obj, 'err': str(err)}) self.logger.timing_since('timing', start_time) self.report() diff --git a/test/unit/obj/test_expirer.py b/test/unit/obj/test_expirer.py index 9849f6d825..a542caf092 100644 --- a/test/unit/obj/test_expirer.py +++ b/test/unit/obj/test_expirer.py @@ -252,8 +252,14 @@ class TestObjectExpirer(TestCase): self.assertFalse(pop_queue.called) self.assertEqual(start_reports, x.report_objects) self.assertEqual(1, len(log_lines)) - self.assertIn('Exception while deleting object container obj', - log_lines[0]) + if isinstance(exc, internal_client.UnexpectedResponse): + self.assertEqual( + log_lines[0], + 'Unexpected response while deleting object container ' + 'obj: %s' % exc.resp.status_int) + else: + self.assertTrue(log_lines[0].startswith( + 'Exception while deleting object container obj')) # verify pop_queue logic on exceptions for exc, ts, should_pop in [(None, timestamp, True),