-
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
kvserver/rangefeed: always use time-bound iterators for catchup scans #82450
Conversation
1b0e814
to
d66ac88
Compare
This patch always uses time-bound iterators for rangefeed catchup scans. Previously, this was controlled by the default-off cluster setting `kv.rangefeed.catchup_scan_iterator_optimization.enabled`, which has now been removed. These have been used in production by several users, who have seen significant performance improvements without reports of any issues. Release note (performance improvement): Changefeed catchup scans now use time-bound iterators, which improves their performance by avoiding accessing data that is outside the catchup scan time interval. Previously, this was controlled by the default-off cluster setting `kv.rangefeed.catchup_scan_iterator_optimization.enabled`, which has now been removed (it is in effect always enabled).
d66ac88
to
8d3f4cf
Compare
Thanks! bors r=stevendanna |
Build succeeded: |
|
I'd leave it in for 22.1, just to have an escape hatch. Just discovered that TBIs may omit inline values, and I don't know yet whether any of the new span config stuff in 22.1 (which relies on rangefeeds) can run across inline values, which might be problematic: #82453 (comment). |
EDIT: Oops, I completely missed that this had already been defaulted to true in #73473. Got confused by #79727, which I took to mean that it hadn't been flipped yet. This PR essentially just removed the setting then. Sorry for the confusion.
This patch always uses time-bound iterators for rangefeed catchup scans.
Previously, this was controlled by the default-off cluster setting
kv.rangefeed.catchup_scan_iterator_optimization.enabled
, which has nowbeen removed. These have been used in production by several users, who
have seen significant performance improvements without reports of any
issues.
Resolves #79728.
Touches #82454.
Release note (performance improvement): Changefeed catchup scans now use
time-bound iterators, which improves their performance by avoiding
accessing data that is outside the catchup scan time interval.
Previously, this was controlled by the default-off cluster setting
kv.rangefeed.catchup_scan_iterator_optimization.enabled
, which has nowbeen removed (it is in effect always enabled).