cockroachdb / cockroachdb/cockroach

changefeedccl: deprecate protect_data_from_gc_on_pause

Open
#113,493 4 comments 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

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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.