Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

changefeedccl: support watching partitions #28633

Closed
danhhz opened this issue Aug 15, 2018 · 5 comments
Closed

changefeedccl: support watching partitions #28633

danhhz opened this issue Aug 15, 2018 · 5 comments
Labels
A-cdc Change Data Capture C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) T-cdc

Comments

@danhhz
Copy link
Contributor

danhhz commented Aug 15, 2018

So a geo-partitioned table can have a changefeed on each partition directing it to a geo-local sink. To save cross-ocean bandwidth and eventually for GDPR compliance.

The semantics are fuzzy around what should happen when a watched partition is altered. We could start by erroring either the changefeed or the alter partition and then do something better once we figure out what user expectations are.

Jira issue: CRDB-4905

@danhhz danhhz added C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) A-cdc Change Data Capture labels Aug 15, 2018
@danhhz danhhz added this to the 2.1 milestone Aug 15, 2018
@danhhz
Copy link
Contributor Author

danhhz commented Sep 18, 2018

Related customer feedback #25229 (comment)

@rolandcrosby
Copy link

For the first pass at this in 2.1.x we should support changefeeds on partitions and cancel the changefeed if the partition definition changes. We can try to prioritize graceful handling of repartitioning in a follow-on work item but supporting the "easy" case here will be a quick win and unblock customer use cases.

@petermattis petermattis removed this from the 2.1 milestone Oct 5, 2018
@danhhz
Copy link
Contributor Author

danhhz commented Oct 10, 2018

Sat down to think about this in detail and I'm leaning strongly to punting all support for this to 2.2. This will require a change to the jobs definition, which will require a minimum version cluster setting bump (because of rolling upgrades). There's no way to make 2.1.0 at this point, so we'd have to cherry-pick this into a patch release, which will get a lot of pushback, even for changefeeds. This is absolutely a new feature, which even given the changefeed exceptions, should ideally be avoided in a patch release.

If forced we could probably do something clever to deal with the above, but we have a reasonable workaround: make one changefeed per kafka cluster. They'll each do a bunch of extra work that will have to be filtered client side. (Sounds like Kindred is planning on doing this anyway).

@rolandcrosby unless you object strongly, I'm going to move this to 2.2

@rolandcrosby
Copy link

That's fine with me.

@miretskiy
Copy link
Contributor

Closing this issue; you can target partition with cdc expressions;
it's true that we don't have ability to target to geo specific sink; but
we'll tackle it as part of larger push to better work in multi region.

/cc @amruss -- in case you want to reopen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-cdc Change Data Capture C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) T-cdc
Projects
None yet
Development

No branches or pull requests

5 participants