Idea #9188
closed
[Keep] Add If-Match to Azure SDK during SetBlobMetadata
Added by Radhika Chippada over 8 years ago.
Updated over 8 years ago.
Assigned To:
Radhika Chippada
- Subject changed from [Keep] Add If-Match to Azure SDK during SetBlobMetadata (similar to delete) to [Keep] Add If-Match to Azure SDK during SetBlobMetadata
It is possible to end up with the following race condition and hence we need the SDK to support If-Match during the SetBlobMetadata as well, similar to delete operation. If-Match (on Etag) will prevent an already in-progress "process trash list" from updating a block that was "Put" again in the meantime and hence is no longer old.
"process trash list" goroutine "PUT request" handler
-------------------------------------------- --------------------------------------------
get metadata
get metadata
metadata has last_write_at=(old)
set metadata[expires_at]=now+TTL
set metadata[last_write_at]=now
(leave metadata[last_write_at] alone)
write metadata to Azure
write metadata to Azure
success! last_write_at is fresh, so block is safe.
success! last_write_at is old, so block
is trashed / scheduled to be deleted.
- Assigned To set to Radhika Chippada
- Story points set to 1.0
- Status changed from New to In Progress
- Status changed from In Progress to Resolved
Also available in: Atom
PDF