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.1: kv: try next replica on RangeNotFoundError #31250
Conversation
tschottdorf
requested a review
from
bdarnell
Oct 11, 2018
tschottdorf
requested review from
cockroachdb/core-prs
as
code owners
Oct 11, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment
Hide comment
tschottdorf
referenced this pull request
Oct 11, 2018
Closed
storage: more proactively replicaGC replicas with stuck commands #26952
bdarnell
approved these changes
Oct 11, 2018
Reviewed 1 of 1 files at r1, 8 of 10 files at r3, 1 of 3 files at r4, 6 of 6 files at r5.
Reviewable status:complete! 0 of 0 LGTMs obtained
tschottdorf
added some commits
Oct 3, 2018
tschottdorf
merged commit a7a3cc1
into
cockroachdb:release-2.1
Oct 12, 2018
tschottdorf
deleted the
tschottdorf:backport2.1-31013
branch
Oct 12, 2018
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
tschottdorf commentedOct 11, 2018
Backport 5/5 commits from #31013.
/cc @cockroachdb/release
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. 4. the first request to the range
runs into the above problem
@nvanbenschoten: I think there is an issue to be filed about the tendency
of DistSender to get stuck in unfortunate configurations.
Fixes #30613.
Release note (bug fix): Avoid repeatedly trying a replica that was found to
be in the process of being added.