Object deletions
The Garbage Collection service performs object deletions according to the following scenarios:
- When a client or the Disposition service deletes an object, HCP hides the object data and metadata, marks the object for deletion, and if possible, immediately deletes it.
- When a client purges an object, HCP hides the data and metadata for all versions of the object, marks all these items for deletion, and if possible, immediately deletes the items.
- When HCP prunes a version of an object, HCP hides the data and metadata for that version, marks the version for deletion, and if possible, immediately deletes it.
- When a client replaces a part during a multipart upload, HCP hides the replaced part and marks the part for deletion.
- When a client aborts a multipart upload, HCP hides the parts of the multipart upload that have already been written and marks those parts for deletion.
- When a client completes a multipart upload, HCP hides any parts that were written for the multipart upload but not included in the completion and marks those parts for deletion.
- When the Garbage Collection service runs:
- It looks for hidden objects and parts. If it finds such objects or parts marked for deletion, it deletes them.
- It looks for objects and parts left by failed writes through HTTP, WebDAV, and SMTP. If it finds such objects or parts, it deletes them.
- It looks for multipart uploads that should be automatically aborted. If it finds such a multipart upload, the Garbage Collection service hides the parts of the multipart upload that have already been written, marks those parts for deletion, and, on a subsequent run, deletes them.
In all cases, when applicable, object deletion triggers the Shredding service.
NoteIf an object or part has been erasure coded, the Garbage Collection service works on the applicable chunk in the same way the service works on objects and parts that are not erasure coded.