eventservice: replace scan window with fair memory admission - #5953
eventservice: replace scan window with fair memory admission#5953asddongmen wants to merge 1 commit into
Conversation
|
Skipping CI for Draft Pull Request. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
What problem does this PR solve?
Issue Number: close #5949
The changefeed-wide scan window caps every dispatcher using the slowest dispatcher's sent resolved timestamp. Under TPC-C-like skew, one hot or blocked table stalls independent tables and reduces downstream throughput. Disabling it reintroduces starvation risk during DDL/syncpoint pressure.
What is changed and how it works?
enable-scan-windowas an accepted, deprecated no-op for configuration compatibility.Check List
Tests
Focused race/failpoint tests (318 tests), the CDC build, formatting/dashboard checks, and changed-line lint passed. A 1,000,000-dispatcher sweep took 167 ms and 24 B/op on Apple M4 Max.
Questions
Will it cause performance regression or break compatibility?
No expected regression. Admission remains O(1) on the fast path; the once-per-second fairness sweep is O(n), with no heap, sort, or per-dispatcher timer. Existing configuration still parses.
Do you need to update user documentation, design documentation or monitoring documentation?
Monitoring is updated by removing scan-window-only metrics and panels. No user documentation change is needed because the retained setting is under debug configuration.
Release note