cockroachdb / cockroachdb/cockroach
changefeedccl: deprecate protect_data_from_gc_on_pause
- Dominant language
- Go
- Stars
- 32.5k
- Forks
- 4.1k
- PR merge metrics
- PR metrics pending
Description
See https://github.com/cockroachlabs/support/issues/2697
When someone forgets to set `protect_data_from_gc_on_pause` and their changefeed is behind, they cannot alter it because altering requires pausing and pausing might result in the data being gc'd. It would be nice to have a builtin to create a PTS record to hold onto the data while we cancel and recreate the changefeed with the proper options.
Sometimes we have bugs with altering and creating a new changefeed makes more sense (https://github.com/cockroachdb/cockroach/issues/113491).
By the way, you cannot just create a new changefeed job with a cursor equal to the highwater of the old one because the PTS record is not created with the cursor timetsamp (https://github.com/cockroachdb/cockroach/issues/113492).
Jira issue: CRDB-33020
Contributor guide
Research direction
Start by reading support issue 2697 and the related issues 113491 and 113492 to understand the changefeed alteration, recreation, and PTS constraints. The issue does not name files or tests; done would require an agreed design and implementation for safely retaining data while a changefeed is cancelled and recreated.
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
- 20/100