Page MenuHomePhabricator

Run swift-object-expirer as part of the swift cluster
Open, MediumPublic


When using X-Delete-After, or other expiration headers, swift will properly return 404 after an object has expired, but the listings will still return the expired objects. Per this is intended behaviour and the swift-object-expirer service is necessary for the listings to stop returning expired objects.

New users of expiration include the new data transfers between analytics and production, along with upcoming work on expiring thumbnails. In general implementations will have to handle 404 anyways, but my reading suggests that without swift-object-expirer the expired objects are never actually deleted, the api layer simply checks the object and reports 404 for existing-but-expired objects.

Event Timeline

CDanis triaged this task as Medium priority.Aug 16 2019, 12:57 PM

Change 601429 had a related patch set uploaded (by Dave Pifke; owner: Dave Pifke):
[operations/puppet@production] Swift object servers: enable object-expirer

Change 601429 merged by Filippo Giunchedi:
[operations/puppet@production] Swift object servers: enable object-expirer

Merged the patch above, apologies for the late action on this.

These are the steps I think are left to do: (happy to review patches)

  • statsd mappings to get metrics reported to Prometheus
  • enable on one ms-be host in each of eqiad and codfw
Aklapper added a subscriber: dpifke.

Removing inactive task assignee (please do so as part of offboarding processes).