Page MenuHomePhabricator

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

Description

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 https://bugs.launchpad.net/swift/+bug/1069849 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

Paladox added a subscriber: Paladox.Aug 1 2019, 3:53 PM
EBernhardson updated the task description. (Show Details)Aug 1 2019, 10:35 PM
Ottomata moved this task from Incoming to Radar on the Analytics board.Aug 5 2019, 3:53 PM
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

https://gerrit.wikimedia.org/r/601429

dpifke claimed this task.Jun 1 2020, 8:54 PM
Aklapper edited projects, added Analytics-Radar; removed Analytics.Jun 10 2020, 6:33 AM

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

https://gerrit.wikimedia.org/r/601429

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