-
Notifications
You must be signed in to change notification settings - Fork 590
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
feat(cdc): auto schema change for mysql cdc #17876
Conversation
…risingwave into siyuan/cdc-schema-change
…elabs/risingwave into siyuan/cdc-handle-schema-event
Hi @hzxa21 @BugenZhao @yezizp2012, PTAL. Let's merge the functionality first and I have some followup to enhance the observability later. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rest LGTM.
There are also a few follow-ups:
- improve observability
- handle the race mentioned in this comment
- more sophistic test and load test with all kinds of schema change events issued from upstream (including ALTER ADD/DROP COLUMN, ALTER RENAME, CREATE TABLE, DROP TABLE)
1 will be addressed by #18060. Any plans for 2 and 3?
2 will also be addressed by #18060, which assigns a unique cdc_table_id to Table. More test cases will be added after #18060 get merge. |
After merge main, the risingwave_simulation::integration_tests sink::scale::test_sink_scale case fails. I find that if I revert #18061 in the branch, the case can pass. @BugenZhao could you review this PR again? |
I don't think we can confirm they are related. Any changes on the codebase can affect the randomness or reproducibility of an issue under madsim. |
384a41f
to
e51b6a8
Compare
e51b6a8
to
d003d2b
Compare
I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
This PR finished the end to end process of auto schema change for mysql:
ReplaceTablePlan
for the tableauto.schema.change
to source option to allow user enable the featureTODO:
- Add aWITH
option to allow user enable this feature on demand- License checkcdc_table_name
field in Table catalog#17643
Checklist
./risedev check
(or alias,./risedev c
)Documentation
Release note
Support replicating DDL for MySQL CDC source. User can enable the feature by setting
auto.schema.change = 'true'
to the source option.ALTER TABLE ADD/DROP column