swift/swift
Alistair Coles a4d77d918d Fix KeyError when auditor finds an expired object
Since the related change [1] the auditor checks deleted objects in
case their tombstone is ready to be reclaimed. However, the auditor
mistakes an expired object for a deleted object because
DiskFileExpired is a subclass of DiskFileDeleted. This causes a
KeyError to be raised and logged because the expired object has no
tombstone info in the ondisk_info data structure.

This patch makes the auditor catch and ignore DiskFileExpired
exceptions before handling DiskFileDeleted exceptions.

[1] Related-Change: I3e99dc702d55a7424c6482969e03cb4afac854a4

Change-Id: I9872b6997d09dcfd8a868c4b91b9379407283b8e
Closes-Bug: #1638016
2016-11-03 15:19:25 +00:00
..
account Merge "py3: Fixes encoding and type error" 2016-09-05 13:18:24 +00:00
cli Merge "Py3: Fixes eventlet ImportError: No module named urllib2" 2016-09-30 05:39:48 +00:00
common Merge "Make NullLogger more logger like" 2016-11-03 02:07:48 +00:00
container Correct swift reraising of exception 2016-09-01 02:25:29 +00:00
locale Imported Translations from Zanata 2016-07-19 08:27:04 +00:00
obj Fix KeyError when auditor finds an expired object 2016-11-03 15:19:25 +00:00
proxy Mirror X-Trans-Id to X-Openstack-Request-Id 2016-10-30 20:02:39 -07:00
__init__.py Make pbr a build-time only dependency 2013-10-29 12:29:49 -07:00