-
Notifications
You must be signed in to change notification settings - Fork 4.1k
spanconfig,kv: enable spanconfig.storage_coalesce_adjacent by default #81008
Description
Is your feature request related to a problem? Please describe.
For 22.2 it’d be great to enable the pack-tables-into-ranges optimization for the host tenant by default. A concern around flipping this default is that when clusters upgrade to 22.2, since table boundaries are no longer hard split points, we might see a rapid onset of possible range merges, which would cause rebalancing activity (replicas on both halves of the range merge need to be colocated on the same stores) which isn’t great both networking cost wise, and possibly its affect on foreground latencies.
Describe the solution you'd like
Strawman: enable the optimization for freshly created clusters (flipping the default value for spanconfig.host_coalesce_adjacent.enabled), and for existing clusters we could disable it. It’s possible to do this through a migration that we’d run on the lead up to 22.2 finalization where we explicitly SET CLUSTER SETTING spanconfig.host_coalesce_adjacent.enabled = false). This doesn’t fully answer the question of how we could prevent foreground traffic impact as a result of this setting being toggled, but that seems kind of difficult (and not clear to me how we could do it well). Since this is a hidden cluster setting, maybe that's fine -- you're on your own. If we want to dampen the effects of toggling this thing back and forth, let's do that as a separate thing — maybe using different rate limits for these merges (also splits). Some internal discussion here.
Jira issue: CRDB-15400
Epic CRDB-28121