Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upbackport-2.0: kv: try next replica on RangeNotFoundError #31350
Conversation
tschottdorf
requested a review
from cockroachdb/core-prs
as a
code owner
Oct 15, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment
Hide comment
tschottdorf
changed the title from
kv: try next replica on RangeNotFoundError
to
backport-2.0: kv: try next replica on RangeNotFoundError
Oct 15, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment
Hide comment
tschottdorf
Oct 15, 2018
Member
PS there was lots of manual labor involved in this cherry-pick. Please review thoroughly.
|
PS there was lots of manual labor involved in this cherry-pick. Please review thoroughly. |
tschottdorf
requested a review
from
bdarnell
Oct 15, 2018
bdarnell
approved these changes
Oct 15, 2018
Reviewed 11 of 11 files at r1.
Reviewable status:complete! 0 of 0 LGTMs obtained
tschottdorf
merged commit 366deb2
into
cockroachdb:release-2.0
Oct 15, 2018
tschottdorf
deleted the
tschottdorf:backport2.1-31013
branch
Oct 15, 2018
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
tschottdorf commentedOct 15, 2018
Previously, if a Batch RPC came back with a RangeNotFoundError,
we would immediately stop trying to send to more replicas, evict the
range descriptor, and start a new attempt after a back-off.
This new attempt could end up using the same replica, so if the
RangeNotFoundError persisted for some amount of time, so would the
unsuccessful retries for requests to it as DistSender doesn't
aggressively shuffle the replicas.
It turns out that there are such situations, and the
election-after-restart roachtest spuriously hit one of them:
up, which may not happen for some time.
Fixes #30613.
Release note (bug fix): Avoid repeatedly trying a replica that was found
to be in the process of being added.