Skip to content
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

changefeed,kvcoord: populate AC headers for backfill work #90093

Merged
merged 1 commit into from
Oct 17, 2022

Conversation

irfansharif
Copy link
Contributor

@irfansharif irfansharif commented Oct 17, 2022

This is an opportunistic change and something to backport to v22.2. In v22.2 we introduced a disabled-by-default elastic CPU limiter (#86638) to dynamically grant CPU time for background work like backups -- something hope to enable-by-default in CC and under observation for select 22.2 clusters. Recently we found another use for this limiter -- rangefeed catchup scans (#89709). It's unclear yet whether we want that integration to make it back to v22.2 but this commit leaves that option open by populating the right AC headers we'd need for the integration. Populating these AC headers is safe -- the Rangefeed RPC is not hooked into AC yet, so these headers are not looked at. For the initial scan requests we're only setting a lower priority bit, something 22.1 nodes already know to handle (they do so for all batch requests).

Release note: None
Release justification: Low-risk change that opens the door to a future backport in a non-.0 release to address cases where rangefeed catchup scans affect foreground latencies.

This is an opportunistic change and something to backport to v22.2. In
v22.2 we introduced a disabled-by-default elastic CPU limiter (cockroachdb#86638) to
dynamically grant CPU time for background work like backups -- something
hope to enable-by-default in CC and under observation for select 22.2
clusters. Recently we found another use for this limiter -- rangefeed
catchup scans (cockroachdb#89709). It's unclear yet whether we want that
integration to make it back to v22.2 but this commit leaves that option
open by populating the right AC headers we'd need for the integration.
Populating these AC headers are safe -- the Rangefeed RPC is not hooked
into AC yet, so these headers are not looked at. For the initial scan
requests we're only setting a lower priority bit, something 22.1 nodes
already know to handle (they do so for all batch requests).

Release note: None
@irfansharif irfansharif requested a review from a team October 17, 2022 20:49
@irfansharif irfansharif requested review from a team as code owners October 17, 2022 20:49
@irfansharif irfansharif requested review from shermanCRL and removed request for a team October 17, 2022 20:49
@cockroach-teamcity
Copy link
Member

This change is Reviewable

@irfansharif
Copy link
Contributor Author

Thanks!

bors r+

@craig
Copy link
Contributor

craig bot commented Oct 17, 2022

Build succeeded:

Copy link
Collaborator

@sumeerbhola sumeerbhola left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@irfansharif I believe this fixes #88733

Reviewed 2 of 4 files at r1.
Reviewable status: :shipit: complete! 0 of 0 LGTMs obtained

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants