4 ms·
"How long have you been on this planet called Earth?" More productively: "How can you claim to let users delete content when the papers on your own company's
by angersock 9y ago
"How long have you been on this planet called Earth?"
More productively:
"How can you claim to let users delete content when the papers on your own company's storage and file systems explicitly state that data is never deleted but instead marked as unavailable?"
EDIT:
To wit:
https://code.facebook.com/posts/685565858139515/needle-in-a-haystack-efficient-storage-of-billions-of-photos/ https://code.facebook.com/posts/685565858139515/needle-in-a-...
> The delete operation is simple – it marks the needle in the haystack store as deleted by setting a “deleted” bit in the flags field of the needle. However, the associated index record is not modified in any way so an application could end up referencing a deleted needle. A read operation for such a needle will see the “deleted” flag and fail the operation with an appropriate error. The space of a deleted needle is not reclaimed in any way. The only way to reclaim space from deleted needles is to compact the haystack (see below).
- beal 9y agoI think it eventually does get deleted. > Compaction is an online operation which reclaims the space used by the deleted and duplicate needles (needles with the same key). It creates a new haystack by copying needles while skipping any duplicate or deleted entries. Once done it swaps the files and in-memory structures. Just in an efficient way for FB