-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
release-21.2: kvserver: increase Migrate
application timeout to 1 minute
#73061
release-21.2: kvserver: increase Migrate
application timeout to 1 minute
#73061
Conversation
This increases the timeout when waiting for application of a `Migrate` command on all range replicas to 1 minute, up from 5 seconds. It also adds a cluster setting `kv.migration.migrate_application.timeout` to control this. When encountering a range that's e.g. undergoing rebalancing, it can take a long time for a learner replica to receive a snapshot and respond to this request, which would cause the timeout to trigger. This is especially likely in clusters with many ranges and frequent rebalancing activity. Release note (bug fix): The timeout when checking for Raft application of upgrade migrations has been increased from 5 seconds to 1 minute, and is now controllable via the cluster setting `kv.migration.migrate_application.timeout`. This makes migrations much less likely to fail in clusters with ongoing rebalancing activity during upgrade migrations.
The separated intents migration has been seen to go into failure loops in the wild, with a generic "context deadline exceeded" error. This adds a more informative log entry with additional hints on how to resolve the problem. Release note: None
Thanks for opening a backport. Please check the backport criteria before merging:
If some of the basic criteria cannot be satisfied, ensure that the exceptional criteria are satisfied within.
Add a brief release justification to the body of your PR to justify this backport. Some other things to consider:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 2 of 2 files at r1, 1 of 1 files at r2, all commit messages.
Reviewable status:complete! 1 of 0 LGTMs obtained (waiting on @miretskiy and @tbg)
Backport 2/2 commits from #72987.
/cc @cockroachdb/release
Release justification: fixes bug that may prevent upgrade migrations from succeeding.
kvserver: increase Migrate application timeout to 1 minute
This increases the timeout when waiting for application of a
Migrate
command on all range replicas to 1 minute, up from 5 seconds. It also
adds a cluster setting
kv.migration.migrate_application.timeout
tocontrol this.
When encountering a range that's e.g. undergoing rebalancing, it can
take a long time for a learner replica to receive a snapshot and respond
to this request, which would cause the timeout to trigger. This is
especially likely in clusters with many ranges and frequent rebalancing
activity.
Touches #72931.
Release note (bug fix): The timeout when checking for Raft application
of upgrade migrations has been increased from 5 seconds to 1 minute, and
is now controllable via the cluster setting
kv.migration.migrate_application_timeout
. This makes migrations muchless likely to fail in clusters with ongoing rebalancing activity during
upgrade migrations.
migration: add informative log message for sep intents migrate failure
The separated intents migration has been seen to go into failure loops
in the wild, with a generic "context deadline exceeded" error. This adds
a more informative log entry with additional hints on how to resolve the
problem.
Release note: None