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

kvcoord: use rangefeed connection class #117730

Merged
merged 1 commit into from Jan 15, 2024

Conversation

pav-kv
Copy link
Collaborator

@pav-kv pav-kv commented Jan 12, 2024

This change switches rangefeed to use RangefeedClass for RPC traffic by default. The corresponding cluster setting is removed since we don't expect needing to dynamically change this. We leave an escape option: the new env variable allows using DefaultClass instead.

This is analogous to the usage of RaftClass for raft traffic.

Part of #108992

Release note (performance improvement): this change separates the rangefeed traffic into its own RPC connection class. This improves isolation and reduces interference with the foreground SQL traffic, which reduces chances of head-of-line blocking caused by unrelated traffic. The new COCKROACH_RANGEFEED_USE_DEFAULT_CONNECTION_CLASS env variable can be set to use the DefaultClass instead (which was the previous default choice for rangefeeds).

@pav-kv pav-kv requested a review from a team as a code owner January 12, 2024 15:32
Copy link

blathers-crl bot commented Jan 12, 2024

It looks like your PR touches production code but doesn't add or edit any test code. Did you consider adding tests to your PR?

🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is dev-inf.

@cockroach-teamcity
Copy link
Member

This change is Reviewable

Copy link
Contributor

@erikgrinaker erikgrinaker left a comment

Choose a reason for hiding this comment

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

LGTM, modulo the retired setting.

This change switches rangefeed to use RangefeedClass for RPC traffic by
default. The corresponding cluster setting is removed since we don't
expect needing to dynamically change this. We leave an escape option:
the new env variable allows using DefaultClass instead.

This is analogous to the usage of RaftClass for raft traffic.

Release note (performance improvement): this change separates the
rangefeed traffic into its own RPC connection class. This improves
isolation and reduces interference with the foreground SQL traffic,
which reduces chances of head-of-line blocking caused by unrelated
traffic. The new COCKROACH_RANGEFEED_USE_DEFAULT_CONNECTION_CLASS env
variable can be set to use the DefaultClass instead (which was the
previous default choice for rangefeeds).
@pav-kv
Copy link
Collaborator Author

pav-kv commented Jan 15, 2024

bors r=erikgrinaker,miretskiy

@craig
Copy link
Contributor

craig bot commented Jan 15, 2024

Build succeeded:

@craig craig bot merged commit 4bd0f43 into cockroachdb:master Jan 15, 2024
9 checks passed
@pav-kv pav-kv deleted the use-rangefeed-conn-class branch January 15, 2024 15:14
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.

None yet

4 participants