Dev/robin/8656 blob etag support for forestrie #31
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
feat: etag support for put & read blob
The introduction of ETag support makes it possible to do two things:
read/modify/write concurrency guards, so that values are written back
only if the destination content hasn't been modified since being
read.
Efficient cache refreshing without fetching the blob data. still
requires request round trip, but no data is returned in the response
if the content is unchanged since the last read.
is going to give us crash fault tollerance and race reconciliaiton
for updating forestrie blobs.
behaviour change:
Previously Read swallowed any error that wasn't accompanied by an io.EOF
condition. This causes the return states to be very confusing when
dealint with If- header responses. The err is now returned in that case.
The arrangements to ensure body.Read is called remain as before
AB#8656