CNS-368: fixation: improve API for GetEntry,FindEntry,PutEntry #403
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.
Change GetEntry,FindEntry to not return an error, use MustUnmarshal() instead of Unmarshal(). Change PutEntry to not return anything and not fill the entry whose refcount is being dropped (caller must already have it).
Previously they returned an error if the Ummarshal of the entry data failed. However that was bad for two reasons: first, such a failure would indicate a severe logical bug because the very same data must have been marshaled and saved before - hence it must be either corrupted or a new lava version now expects some different format (either way it's a bug). Second, callers do not have a way to rectify such errors, they just treat it as "not found", making it useless.