Repository navigation
[Source-MySQL] Correctly set Debezium MySQL connector database timezone property - #30333
Octavia The Approver (octavia-approvington) merged 8 commits into
Conversation
Before Merging a Connector Pull RequestWow! What a great pull request you have here! 🎉 To merge this PR, ensure the following has been done/considered for each connector added or updated:
If the checklist is complete, but the CI check is failing,
|
ff440b1 to
b90bd68
Compare
|
| Step | Result |
|---|---|
| Java Connector Unit Tests | ✅ |
| Build connector tar | ✅ |
| Build source-mysql docker image for platform linux/x86_64 | ✅ |
| Java Connector Integration Tests | ❌ |
| Acceptance tests | ✅ |
| Validate airbyte-integrations/connectors/source-mysql/metadata.yaml | ✅ |
| Connector version semver check | ✅ |
| Connector version increment check | ❌ |
| QA checks | ✅ |
☁️ View runs for commit in Dagger Cloud
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=source-mysql test
Subodh Chaturvedi (subodh1810)
left a comment
There was a problem hiding this comment.
Interesting! I bet when we added that property it was called serverTimezone but they changed it in one of the upgrades! Can you add a test for this.
There was a problem hiding this comment.
Can you add a link to the exact section in Debezium docs where this property is listed
There was a problem hiding this comment.
https://debezium.io/documentation/reference/stable/connectors/mysql.html
The time zone will be queried from the server by default. If this fails, it must be specified explicitly by the database connectionTimeZone MySQL configuration option. For example, if the database’s time zone (either globally or configured for the connector by means of the connectionTimeZone option) is "America/Los_Angeles", the TIMESTAMP value "2018-06-20 06:37:03" is represented by a ZonedTimestamp with the value "2018-06-20T13:37:03Z".
There was a problem hiding this comment.
If this fails
Do we know for a fact there was a failure?
Is the failure here because the server timezone is not IANA compliant?
That is CEST rather than Europe/Berlin
|
| Step | Result |
|---|---|
| Java Connector Unit Tests | ❌ |
| Build connector tar | ✅ |
| Build source-mysql-strict-encrypt docker image for platform linux/x86_64 | ✅ |
| Java Connector Integration Tests | ❌ |
| Acceptance tests | ❌ |
| Validate airbyte-integrations/connectors/source-mysql-strict-encrypt/metadata.yaml | ✅ |
| Connector version semver check | ✅ |
| QA checks | ❌ |
☁️ View runs for commit in Dagger Cloud
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=source-mysql-strict-encrypt test
|
| Step | Result |
|---|---|
| Java Connector Unit Tests | ✅ |
| Build connector tar | ✅ |
| Build source-mysql docker image for platform linux/x86_64 | ✅ |
| Java Connector Integration Tests | ❌ |
| Acceptance tests | ✅ |
| Validate airbyte-integrations/connectors/source-mysql/metadata.yaml | ✅ |
| Connector version semver check | ✅ |
| Connector version increment check | ✅ |
| QA checks | ❌ |
☁️ View runs for commit in Dagger Cloud
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=source-mysql testb9c1649 to
570bdaf
Compare
|
| Step | Result |
|---|---|
| Java Connector Unit Tests | ❌ |
| Build connector tar | ✅ |
| Build source-mysql-strict-encrypt docker image for platform linux/x86_64 | ✅ |
| Java Connector Integration Tests | ❌ |
| Acceptance tests | ❌ |
| Validate airbyte-integrations/connectors/source-mysql-strict-encrypt/metadata.yaml | ✅ |
| Connector version semver check | ✅ |
| QA checks | ❌ |
☁️ View runs for commit in Dagger Cloud
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=source-mysql-strict-encrypt test
|
| Step | Result |
|---|---|
| Java Connector Unit Tests | ✅ |
| Build connector tar | ✅ |
| Build source-mysql docker image for platform linux/x86_64 | ✅ |
| Java Connector Integration Tests | ❌ |
| Acceptance tests | ✅ |
| Validate airbyte-integrations/connectors/source-mysql/metadata.yaml | ✅ |
| Connector version semver check | ✅ |
| Connector version increment check | ✅ |
| QA checks | ❌ |
☁️ View runs for commit in Dagger Cloud
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=source-mysql test
|
| Step | Result |
|---|---|
| Java Connector Unit Tests | ✅ |
| Build connector tar | ✅ |
| Build source-mysql docker image for platform linux/x86_64 | ✅ |
| Java Connector Integration Tests | ❌ |
| Acceptance tests | ✅ |
| Validate airbyte-integrations/connectors/source-mysql/metadata.yaml | ✅ |
| Connector version semver check | ✅ |
| Connector version increment check | ✅ |
| QA checks | ❌ |
☁️ View runs for commit in Dagger Cloud
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=source-mysql test
|
| Step | Result |
|---|---|
| Java Connector Unit Tests | ❌ |
| Build connector tar | ✅ |
| Build source-mysql-strict-encrypt docker image for platform linux/x86_64 | ✅ |
| Java Connector Integration Tests | ❌ |
| Acceptance tests | ❌ |
| Validate airbyte-integrations/connectors/source-mysql-strict-encrypt/metadata.yaml | ✅ |
| Connector version semver check | ✅ |
| QA checks | ❌ |
☁️ View runs for commit in Dagger Cloud
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=source-mysql-strict-encrypt test|
I applied these changes and was able to sync a MariaDB hosted MySQL database in CDC mode, which was failing with this error otherwise. |
# Conflicts: # airbyte-integrations/connectors/source-mysql-strict-encrypt/metadata.yaml # airbyte-integrations/connectors/source-mysql/metadata.yaml # airbyte-integrations/connectors/source-mysql/src/test/java/io/airbyte/integrations/source/mysql/CdcMysqlSourceTest.java # docs/integrations/sources/mysql.md
Subodh Chaturvedi (subodh1810)
left a comment
There was a problem hiding this comment.
I pushed a commit to bring in the latest changes from master and resolve conflicts + add more assertions to the test (around the sync completing and asserting data).
Please run all the tests locally before merging as CI is broken.
|
| Step | Result |
|---|---|
| Build connector tar | ✅ |
| Build source-mysql docker image for platform linux/x86_64 | ✅ |
| Java Connector Unit Tests | ✅ |
| Java Connector Integration Tests | ❌ |
| Acceptance tests | ✅ |
| Validate airbyte-integrations/connectors/source-mysql/metadata.yaml | ✅ |
| Connector version semver check | ✅ |
| Connector version increment check | ✅ |
| QA checks | ✅ |
☁️ View runs for commit in Dagger Cloud
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=source-mysql test
|
| Step | Result |
|---|---|
| Build connector tar | ✅ |
| Build source-mysql-strict-encrypt docker image for platform linux/x86_64 | ✅ |
| Java Connector Unit Tests | ❌ |
| Java Connector Integration Tests | ❌ |
| Acceptance tests | ❌ |
| Validate airbyte-integrations/connectors/source-mysql-strict-encrypt/metadata.yaml | ✅ |
| Connector version semver check | ✅ |
| Connector version increment check | ✅ |
| QA checks | ❌ |
☁️ View runs for commit in Dagger Cloud
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=source-mysql-strict-encrypt test|
/approve-and-merge reason="CI is down and all expected tests passed locally" |
|
| Step | Result |
|---|---|
| Build connector tar | ✅ |
| Build source-mysql docker image for platform linux/x86_64 | ✅ |
| Java Connector Unit Tests | ✅ |
| Java Connector Integration Tests | ❌ |
| Acceptance tests | ✅ |
| Validate airbyte-integrations/connectors/source-mysql/metadata.yaml | ✅ |
| Connector version semver check | ✅ |
| Connector version increment check | ✅ |
| QA checks | ✅ |
☁️ View runs for commit in Dagger Cloud
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=source-mysql test
|
| Step | Result |
|---|---|
| Build connector tar | ✅ |
| Build source-mysql-strict-encrypt docker image for platform linux/x86_64 | ✅ |
| Java Connector Unit Tests | ❌ |
| Java Connector Integration Tests | ❌ |
| Acceptance tests | ❌ |
| Validate airbyte-integrations/connectors/source-mysql-strict-encrypt/metadata.yaml | ✅ |
| Connector version semver check | ✅ |
| Connector version increment check | ❌ |
| QA checks | ❌ |
☁️ View runs for commit in Dagger Cloud
Please note that tests are only run on PR ready for review. Please set your PR to draft mode to not flood the CI engine and upstream service on following commits.
You can run the same pipeline locally on this branch with the airbyte-ci tool with the following command
airbyte-ci connectors --name=source-mysql-strict-encrypt test
What
#24659
I was able to reproduce it via running a local MySQL instance inside a Docker container with the specifically problematic
CESTtimezone and ran a sync on OSS.How
The database timezone parameter was incorrectly set to
database.serverTimezone, but per Debezium docs, the correct property isdatabase.connectionTimezone.