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-23.2: upgrade: use high priority txn's to update the cluster version #115034
Conversation
Thanks for opening a backport. Please check the backport criteria before merging:
If your backport adds new functionality, please ensure that the following additional criteria are satisfied:
Also, please add a brief release justification to the body of your PR to justify this |
a0b2398
to
62e7fcd
Compare
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.
lgtm! can you get the request in #db-backports-23-2-release ?
the CI needs fixing - but looks to be test only changes to use different variable names.
62e7fcd
to
6473b94
Compare
Should be fixed, let me post for this one too |
To be able to have minimal high priority txns for bumping cluster version, we need the ability to write the setting table using KV calls. This patch adds, the functions EncodeSettingKey and EncodeSettingValue to allow directly generate values for Put/Get calls. Release note: None
Previously, it was possible for the leasing subsystem to starve out attempts to set the cluster version during upgrades, since the leasing subsystem uses high priority txn for renewals. To address this, this patch makes the logic to set the cluster version high priority so it can't be pushed out by lease renewals. Fixes: cockroachdb#113908 Release note (bug fix): Addressed a bug that could cause cluster version finalization to get starved out by descriptor lease renewals on larger clusters.
6473b94
to
39cb48d
Compare
Backport 2/2 commits from #113996.
/cc @cockroachdb/release
Previously, it was possible for the leasing subsystem to starve out attempts to set the cluster version during upgrades, since the leasing subsystem uses high priority txn for renewals. To address this, this patch makes the logic to set the cluster version high priority so it can't be pushed out by lease renewals.
Fixes: #113908
Release note (bug fix): Addressed a bug that could cause cluster version finalization to get starved out by descriptor lease renewals on larger clusters.
Release justification: Low risk and forces direct use for KV primitives when updating the cluster version number. This code should be hit fairly frequently on the unit tests/ roach tests.