-
Notifications
You must be signed in to change notification settings - Fork 288
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
cdc: Add integration tests with Debezium #10310
Conversation
Signed-off-by: Wish <[email protected]>
Signed-off-by: Wish <[email protected]>
Signed-off-by: Wish <[email protected]>
/test cdc-integration-kafka-test |
/test cdc-integration-kafka-test |
/retest |
Codecov Report
Additional details and impacted files
Flags with carried forward coverage won't be shown. Click here to find out more. @@ Coverage Diff @@
## master #10310 +/- ##
================================================
+ Coverage 57.6083% 57.6368% +0.0285%
================================================
Files 849 849
Lines 126098 126105 +7
================================================
+ Hits 72643 72683 +40
+ Misses 48027 47997 -30
+ Partials 5428 5425 -3 |
/test cdc-integration-mysql-test |
1 similar comment
/test cdc-integration-mysql-test |
/test cdc-integration-mysql-test |
/test cdc-integration-mysql-test |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: 3AceShowHand, asddongmen The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
[LGTM Timeline notifier]Timeline:
|
/retest |
What problem does this PR solve?
Issue Number: ref #1799
What is changed and how it works?
Currently the integration tests can be run manually. It is not integrated into the CI/CD workflow (will be done in later PRs).
To run the integration test:
Compile TiCDC with the Debezium output format:
cd tiflow make cdc
Start the Debezium+MySQL+Kafka stack:
cd tiflow/tests/integration_tests/debezium docker compose up
Add the Debezium connector, Debezium outputs the changes to output_debezium topic:
Start TiDB + TiCDC stack:
Add the Changefeed, which outputs the changes to output_ticdc topic:
tiup cdc cli changefeed create \ --server=http://127.0.0.1:8300 \ --sink-uri="kafka://127.0.0.1:9094/output_ticdc?protocol=debezium&kafka-version=2.4.0"
Run the integration test
The integration test checks whether output number of rows are matching. Example:
And whether output JSONs are matching. Example:
Currently,
schema
,source
andts_ms
is ignored during compare.Check List
Tests
Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note