kvcoord: Release catchup reservation before re-acquire attempt#105083
Merged
craig[bot] merged 1 commit intocockroachdb:masterfrom Jun 20, 2023
Merged
kvcoord: Release catchup reservation before re-acquire attempt#105083craig[bot] merged 1 commit intocockroachdb:masterfrom
craig[bot] merged 1 commit intocockroachdb:masterfrom
Conversation
Member
Release catchup scan reservation prior to attemt to re-acquire it. Failure to do so could result in a stuck mux rangefeed when enough ranges encounter an error at the same time (which can happen if e.g. a node gets restarted). Fixes cockroachdb#105058 Release note (bug fix): Fix a bug in mux rangefeed implementation that may cause mux rangefeed to become stuck if enough ranges enounter certain error concurrently.
aliher1911
approved these changes
Jun 19, 2023
Contributor
aliher1911
left a comment
There was a problem hiding this comment.
I can understand how current change makes reservations aligned with activeMuxRangeFeed lifecycle.
BuI can only see us having double reservations if we had to do a errInfo.resolveSpan branch and have new feeds being blocked by feed they are trying to replace. This doesn't look like the case of nodes being restarted, but having many concurrent splits when table grows.
If that's the case, can you update the description?
Contributor
Author
|
bors r+ |
Contributor
|
Build succeeded: |
Contributor
|
How about v22.2 @miretskiy? Or should we simply say mux is not recommended on v22.2? |
Contributor
Author
not applicable. this is rewritten code that didn't exist (in its current shape) in 22.2 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release catchup scan reservation prior to attemt to re-acquire it. Failure to do so could result in a stuck mux rangefeed when enough ranges encounter an error, such as range split, prior to receiving the first checkpoint event, that would cause additional attempts to acquire catchup scan quota.
Fixes #105058
Release note (bug fix): Fix a bug in mux rangefeed implementation that may cause mux rangefeed to become stuck if enough ranges encounter certain error concurrently.