-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
🐛 Source-MySql: do not check cdc required param binlog_row_image for standard replication #8335
🐛 Source-MySql: do not check cdc required param binlog_row_image for standard replication #8335
Conversation
/test connector=connectors/source-mysql
|
/test connector=connectors/source-mysql-strict-encrypt
|
@DoNotPanicUA , @andriikorotkov please pay attention only on MySqlSource.java, other changes are related to code formatting. |
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.
Please exclude the changes which are not related to your change.
If there is a formatting change outside the MySql source, it should be fixed by another PR.
@DoNotPanicUA, Maria asked this question in the internal chat. Sasha gave permission to add these changes in this pull request. |
This reverts commit 5a94474.
done :) |
/test connector=connectors/source-mysql
|
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.
LGFM.
as a potential improvement - all three checks are very similar. we could create a method with input params and decrease code dupe a bit.
/test connector=connectors/source-mysql
|
/test connector=connectors/source-mysql-strict-encrypt
|
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.
Thanks for DRYing the code!
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.
Does it mean that the latest MySQL source connector will always fail? It does not look like the case though.
Also is this issue not caught by any unit test? I just checked that the config for MySQL source integration test is on standard replication, but does not have the binlog_row_image
. Why does the integration test not fail before this PR?
In integration tests we use for testcontainer docker image version "mysql:8.0" and what I see from mysql doc 8.0 https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_row_image that binlog_image_row is already present and by default the value is "FULL" It can be absent for older db versions, as I can see from release notes it was introduced for mysql from 5.6 - https://dev.mysql.com/doc/refman/5.6/en/mysql-nutshell.html On the issue users paid attention that the problem appeared for mariaDB version 5.5.60 and the changes related to binlog_image_row for MariaDB seems to be introduced latter |
/publish connector=connectors/source-mysql
|
/publish connector=connectors/source-mysql-strict-encrypt
|
…-source # Conflicts: # docs/integrations/sources/mysql.md
/publish connector=connectors/source-mysql
|
/publish connector=connectors/source-mysql-strict-encrypt
|
/test connector=connectors/source-mysql
|
…standard replication (airbytehq#8335) * Source-MySql: do not check cdc required param binlog_row_image for standard replication * Source-MySql: fix formatting * Revert "Source-MySql: fix formatting" This reverts commit 5a94474. * Source-MySql: made a code improvement * Source-MySql: bump versions * Source-MySql: fix version in source_specs.yaml * Source-MySql: bump versions * Source-MySql:update source_definitions.yaml with new version
What
We currently check param binlog_row_image for standard replication fro MySql connector.
This param in db should be only required for cdc replication not for standard
How
Made changes in MySqlSource method getCheckOperations in order do not check cdc required params for standard replication
Recommended reading order
MySqlSource.java
x.java
y.json
md.json
Pre-merge Checklist
Expand the relevant checklist and delete the others.
New Connector
Community member or Airbyter
airbyte_secret
./gradlew :airbyte-integrations:connectors:<name>:integrationTest
.README.md
bootstrap.md
. See description and examplesdocs/SUMMARY.md
docs/integrations/<source or destination>/<name>.md
including changelog. See changelog exampledocs/integrations/README.md
airbyte-integrations/builds.md
Airbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
/test connector=connectors/<name>
command is passing./publish
command described hereUpdating a connector
Community member or Airbyter
airbyte_secret
./gradlew :airbyte-integrations:connectors:<name>:integrationTest
.README.md
bootstrap.md
. See description and examplesdocs/integrations/<source or destination>/<name>.md
including changelog. See changelog exampleAirbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
/test connector=connectors/<name>
command is passing./publish
command described hereConnector Generator
-scaffold
in their name) have been updated with the latest scaffold by running./gradlew :airbyte-integrations:connector-templates:generator:testScaffoldTemplates
then checking in your changes