cockroachdb / cockroachdb/cockroach

cdc: refactor timestamp (frontiers and boundaries) handling to be more expressive and less error-prone

Open
#98,511 1 comment 0 reactions 0 assignees View on GitHub
A-cdc C-enhancement T-cdc
Dominant language
Go
Stars
32.5k
Forks
4.1k
PR merge metrics
PR metrics pending

Description

Timestamp handling has caused a great number of bugs and confusion, often due to relying on .Next() and .Prev() needing to be called in different places for opaque reasons. It's also critical to correctness. We need a better, higher-level API that can be used to express and persist partial orderings (this specific event/boundary is before this other one).

The API should be hard to use wrongly. An API that can be used wrongly perhaps shouldn’t be an API at all -- maybe it needs to be decomposed into primitives, each of which is clear and unsurprising, even if less convenient. Reduce surprises, reduce magic.

Jira issue: CRDB-25304

Epic CRDB-28883

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.