Skip to content

spanconfig,kv: enable spanconfig.storage_coalesce_adjacent by default #81008

@irfansharif

Description

@irfansharif

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

Metadata

Metadata

Assignees

Labels

A-zone-configsC-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)T-kvKV Team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions