-
Notifications
You must be signed in to change notification settings - Fork 4.1k
changefeedccl: default kv.rangefeed.separated_intent_scan.enabled to true in v21.2 #79655
Description
We had seen that changefeed catchup scans can be disruptive to upgrades (internal), including affecting foreground traffic, due to consuming a lot of IOPS. We have consensus that kv.rangefeed.separated_intent_scan.enabled is safe and beneficial.
I think we've gained enough confidence in separated intents that it's safe to enable kv.rangefeed.separated_intent_scan.enabled, at least. To put it another way, if we didn't have a cluster setting for it, I wouldn't hesitate to backport a change to only scan separated intents.
Let’s default kv.rangefeed.separated_intent_scan.enabled to true in the next patch releases of v21.2. This will reduce likelihood of upgrade problems and support issues.
Notes from this discussion:
PS: we'd have to make sure these new default settings respect the relevant version gates, if they don't already, to avoid breakage in mixed-version 21.1/21.2 clusters.
We respect a cluster setting for the intent scanner. I don't think there are any cluster settings we need to worry about for catchup-scans, but if I'm wrong there let me know.
cockroach/pkg/kv/kvserver/replica_rangefeed.go
Lines 396 to 397 in 385f742
| onlySeparatedIntents := r.store.cfg.Settings.Version.IsActive(ctx, clusterversion.PostSeparatedIntentsMigration) | |
| useSeparatedIntents := RangefeedSeparatedIntentScanEnabled.Get(&r.store.cfg.Settings.SV) |
Related work:
- changefeedccl: default kv.rangefeed.catchup_scan_iterator_optimization.enabled to true in 21.2 #79727
- changefeedccl: make recommended cluster setttings default #76508
- settings: retire kv.rangefeed.separated_intent_scan.enabled #78246
- kvserver: default kv.rangefeed.catchup_scan_iterator_optimization.enabled to true #73473