Skip to content

DBZ-9696 Add config for Vitess tables to copy flag#260

Merged
jpechane merged 5 commits into
debezium:mainfrom
twthorn:DBZ-9696
Nov 26, 2025
Merged

DBZ-9696 Add config for Vitess tables to copy flag#260
jpechane merged 5 commits into
debezium:mainfrom
twthorn:DBZ-9696

Conversation

@twthorn
Copy link
Copy Markdown
Contributor

@twthorn twthorn commented Nov 21, 2025

Support for table copy list added here vitessio/vitess#18184

Implement this support for Debezium as well with a config.

Add unit test & itests.

Also fix one other itest now that the bug with open lineage was fixed in debezium main repo (we need to enable open lineage explicitly now to get this test to assert correctly) debezium/debezium#6873

@github-actions
Copy link
Copy Markdown

Hi @twthorn, thanks for your contribution. Please prefix the commit message(s) with the DBZ-xxx JIRA issue key.

@twthorn
Copy link
Copy Markdown
Contributor Author

twthorn commented Nov 21, 2025

@jpechane can you take a look at this when you get the chance? Thanks!

@jpechane
Copy link
Copy Markdown
Contributor

@twthorn I wonder if there is any use case for this to be different from table.include.list?

@github-actions
Copy link
Copy Markdown

Hi @twthorn, thanks for your contribution. Please prefix the commit message(s) with the DBZ-xxx JIRA issue key.

@twthorn
Copy link
Copy Markdown
Contributor Author

twthorn commented Nov 25, 2025

@jpechane Thanks for the review

@twthorn I wonder if there is any use case for this to be different from table.include.list?

Yes, there is. For example, assume we are streaming data for N tables for a single connector, so table include list is size N. However a downstream user only needs a copy or snapshot of just table t1 due to some issue (e.g., maybe they dropped data or data was corrupted). In this case, we use the separate tables to copy config to perform the copy just for that table t1 (and not all N tables).

@twthorn
Copy link
Copy Markdown
Contributor Author

twthorn commented Nov 25, 2025

Note: Two of the tests will trivially fail until we get the latest vitess/lite docker build in quay.io (or wait and add a new released version) in quay.io because we need this bug fix vitessio/vitess#18938

@jpechane
Copy link
Copy Markdown
Contributor

@jpechane Thanks for the review

@twthorn I wonder if there is any use case for this to be different from table.include.list?

Yes, there is. For example, assume we are streaming data for N tables for a single connector, so table include list is size N. However a downstream user only needs a copy or snapshot of just table t1 due to some issue (e.g., maybe they dropped data or data was corrupted). In this case, we use the separate tables to copy config to perform the copy just for that table t1 (and not all N tables).

Can't we use io.debezium.config.CommonConnectorConfig.SNAPSHOT_MODE_TABLES for that purpose then?

@jpechane jpechane merged commit 2189334 into debezium:main Nov 26, 2025
3 checks passed
@jpechane
Copy link
Copy Markdown
Contributor

@twthorn Applied, thanks! Could you please send a docs PR for the feature?

@twthorn
Copy link
Copy Markdown
Contributor Author

twthorn commented Nov 26, 2025

@jpechane thanks for the review! I opened the docs PR here debezium/debezium#6922

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants