-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
kvflowcontrol: add token counter v2 interface #128014
Labels
A-replication-admission-control-v2
Related to introduction of replication AC v2
C-enhancement
Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)
T-kv
KV Team
Comments
kvoli
added
C-enhancement
Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)
A-replication-admission-control-v2
Related to introduction of replication AC v2
labels
Jul 31, 2024
kvoli
added a commit
to kvoli/cockroach
that referenced
this issue
Aug 2, 2024
Introduce the `TokenCounter` interface, underneath a new package, `rac2`. The `TokenCounter` will be used by replication flow control v2 in a similar, but distinct manner from the token buckets in v1. Notably, the `TokenCounter` supports returning an encapsulated handle that may be used in waiting for available tokens, `TokenWaitingHandle`. Resolves: cockroachdb#128014 Release note: None
kvoli
added a commit
to kvoli/cockroach
that referenced
this issue
Aug 2, 2024
Introduce the `TokenCounter` interface, underneath a new package, `rac2`. The `TokenCounter` will be used by replication flow control v2 in a similar, but distinct manner from the token buckets in v1. Notably, the `TokenCounter` supports returning an encapsulated handle that may be used in waiting for available tokens, `TokenWaitingHandle`. Resolves: cockroachdb#128014 Release note: None
kvoli
added a commit
to kvoli/cockroach
that referenced
this issue
Aug 5, 2024
Introduce the `TokenCounter` interface, underneath a new package, `rac2`. The `TokenCounter` will be used by replication flow control v2 in a similar, but distinct manner from the token buckets in v1. Notably, the `TokenCounter` supports returning an encapsulated handle that may be used in waiting for available tokens, `TokenWaitingHandle`. Resolves: cockroachdb#128014 Release note: None
craig bot
pushed a commit
that referenced
this issue
Aug 5, 2024
128195: kvflowcontrol: introduce v2 flow control core interfaces r=sumeerbhola a=kvoli Introduce the `TokenCounter` interface, underneath a new package, `rac2`. The `TokenCounter` will be used by replication flow control v2 in a similar, but distinct manner from the token buckets in v1. Notably, the `TokenCounter` supports returning an encapsulated handle that may be used in waiting for available tokens, `TokenWaitingHandle`. Resolves: #128014 Release note: None --- Introduce the `StreamTokenCounterProvider` interface, which will be used by replication flow control v2 to access the `TokenCounter` for a given tenant, store stream. Note the original interface in the v2 prototype included two additional methods for metrics gathering which are omitted here. Resolves: #128010 Release note: None --- Introduce the `StreamTokenWatcher` interface, which will be used to watch and be notified when there are tokens available. Resolves: #128011 Release note: None --- Introduce the `RangeController` interface, which provides flow control for replication traffic in KV, for a range. Resolves: #128021 Release note: None Co-authored-by: Austen McClernon <[email protected]>
26 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-replication-admission-control-v2
Related to introduction of replication AC v2
C-enhancement
Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)
T-kv
KV Team
Introduce a token tracker interface, which is similar to the existing v1 token tracker (non-interface) here.
The methods however are different:
Also see https://github.com/sumeerbhola/cockroach/blob/2064b279e95bbd68b0a7898503168d384cd0158c/pkg/kv/kvserver/kvflowcontrol/kvflowconnectedstream/store_stream.go#L117-L140
Jira issue: CRDB-40752
Epic CRDB-37515
The text was updated successfully, but these errors were encountered: