8
votes

I'm adding a lifecycle rule for a versioned bucket, and I'm confused about this:

enter image description here

Specifically, the "remove expired object delete marker" option. Why would one not want to remove that? If I have an object with just one version, and I delete that object/version, five days later it will be permanently deleted. Then there's a delete marker hanging around pointing to nothing, so what's the point of keeping it?

1
Maybe as a sort of delete-log so you know what has been deleted? Does seem pretty useless though... - Jason Cemra

1 Answers

6
votes

Amazon S3 will not automatically delete expired object delete markers. The lifecycle policy provides a means to do so.

Deleting the last version of an object that has a delete marker will merely delete the object. It does not trigger an action on S3 to determine whether there are any expired delete markers. So, yes, the lifecycle rule is worth implementing if the bucket is versioned and versions of objects are often deleted.