cockroachdb / cockroachdb/cockroach
kvserver: optimize rangefeed logical ops
- Dominant language
- Go
- Stars
- 32.5k
- Forks
- 4.1k
- PR merge metrics
- PR metrics pending
Description
Currently, `kv.rangefeed.enabled` is off by default, since it introduces a non-negligible cost for all write operations, regardless of whether any rangefeeds are in use. This is believed to be largely due to the inclusion of `MVCCLogicalOps` in the Raft write batches, which describe the high-level operations performed by the writes. These are necessary to avoid having to decode the binary Pebble write batches and reverse-engineer the higher-level operations from them (trivial for puts, not trivial for intent/txn processing).
See also [the original RFC](https://github.com/cockroachdb/cockroach/blob/120b1313be873a0ab43e8941a5fd40777b7f24dc/docs/RFCS/20170613_range_feeds_storage_primitive.md).
Can we do better, either by optimizing down the cost of these logical ops, or eliminating them either entirely or partially?
Jira issue: CRDB-28982
xref #95228
Contributor guide
Assessment
This issue has not been assessed yet.