Actions
Idea #9188
closed[Keep] Add If-Match to Azure SDK during SetBlobMetadata
Status:
Resolved
Priority:
Normal
Assigned To:
Radhika Chippada
Category:
-
Target version:
Start date:
05/13/2016
Due date:
Story points:
1.0
Updated by Radhika Chippada over 8 years ago
- 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.
Updated by Radhika Chippada over 8 years ago
- Assigned To set to Radhika Chippada
- Story points set to 1.0
Updated by Radhika Chippada over 8 years ago
- Status changed from New to In Progress
Updated by Radhika Chippada over 8 years ago
- Status changed from In Progress to Resolved
Actions