CXXCBC-665: Always return partial results for all_replica ops if some get_replica reqs succeeded#742
Merged
DemetrisChr merged 1 commit intocouchbase:mainfrom Apr 1, 2025
Conversation
… get_replica reqs succeeded
avsej
approved these changes
Mar 31, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Motivation
Currently, we only report an error if the last individual get/get_replica response to be received had an error. This means that if we have partial results, whether they are returned or not depends on the order at which we receive the responses, which is not deterministic.
Change
If some successful replica results exist, always return them. We do this by only returning the error context of the last response (which is what we have been using to return an error from the overall operation), if there are no successful replica results.