[blob] Add option to instantly delete a blob
Summary:
Resolves ENG-5580.
Added a instant_delete option to the DELETE request payload. If set to true, the blob will be deleted immediately after last holder is revoked. Otherwise, it will be deleted during the next cleanup run.
The DELETE request payload now looks like this:
{ holder: "some_holder", blob_hash: "some_hash", // defaults to false if not provided instant_delete: true }
Test Plan:
1a. Started blob without --instant-delete flag. Uploaded a blob, revoked a holder, then ensured it is still accessible with GET request. (did not run a cleanup job)
1b. Ran a cleanup job, ensured the blob is deleted.
- Started blob with --instant-delete flag. Uploaded a blob, revoked a holder, then ensured it is not accessible with GET request. (did not run a cleanup job)
- Started blob with --instant-delete flag. Uploaded a blob, revoked a holder by using DELETE request with instant_delete set to true, result is the same as in 2.
Reviewers: tomek, michal
Reviewed By: tomek
Subscribers: ashoat
Differential Revision: https://phab.comm.dev/D10135