cockroachdb / cockroachdb/cockroach

kv: deprecate kv.rangefeed.enabled setting

Open
#95,228 8 comments 2 reactions 0 assignees View on GitHub
A-cdc A-disaster-recovery A-kv-rangefeed C-enhancement T-cdc T-disaster-recovery
Dominant language
Go
Stars
32.5k
Forks
4.1k
PR merge metrics
PR metrics pending

Description

**Is your feature request related to a problem? Please describe.**

When users wish to use changefeeds (and cluster replication in the future), they need to set `kv.rangefeed.enabled` to true. It’s documented and works fine, but is easy to forget and is annoying.

This setting exists for a reason, which is that being enabled by default does incur an expense even when not using changefeeds.

**Describe the solution you'd like**

Make this setting unnecessary, removing a UX obstacle. It can be done via span configs, automatically on changefeed creation (and c2c creation). Because this enablement is narrowly targeted, it does not incur an unnecessary expense. See [this internal conversation](https://cockroachlabs.slack.com/archives/C0KB9Q03D/p1673632356344009?thread_ts=1673628628.703789&cid=C0KB9Q03D).

Possibly related:
- https://github.com/cockroachdb/cockroach/issues/70614
- https://github.com/cockroachdb/cockroach/issues/105329
- https://github.com/cockroachdb/cockroach/pull/79224
- https://github.com/cockroachdb/cockroach/issues/77735
- https://github.com/cockroachdb/cockroach/pull/66348
- https://github.com/cockroachdb/cockroach/pull/41272
- https://github.com/cockroachdb/cockroach/issues/105329

Jira issue: CRDB-23410
Epic CRDB-11818

Contributor guide

Open the contributing guide

Research direction

Start by tracing the kv.rangefeed.enabled setting and the changefeed creation and span-config paths, then review the related issues and pull requests listed in the report. Done means changefeeds no longer require this setting while rangefeed work remains narrowly enabled without unnecessary expense.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
databases, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.