-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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 & Destination sync modes are required #2500
Source & Destination sync modes are required #2500
Conversation
73ba3c2
to
3d4c95a
Compare
@@ -2125,7 +2125,7 @@ components: | |||
- append | |||
- overwrite | |||
#- upsert_dedup # TODO chris: SCD Type 1 can be implemented later | |||
- append_dedup # SCD Type 2 | |||
- append_dedup # SCD Type 1 & 2 |
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.
why is 1 and 2 now? should the comment above be removed then?
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.
is there not a field in this file that needs to set sync mode to required? or is it already set?
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.
append_dedup produces two tables:
- history table (SCD type 2)
- dedup table (SCD type 1)
So I just made the comment truthier
upsert_dedup without the history table would use less space (since no SCD type 2 would be stored)
airbyte-migration/src/main/java/io/airbyte/migrate/migrations/MigrationV0_18_0.java
Outdated
Show resolved
Hide resolved
airbyte-migration/src/main/java/io/airbyte/migrate/migrations/MigrationV0_18_0.java
Outdated
Show resolved
Hide resolved
3d4c95a
to
4b5c22a
Compare
/publish connector=connectors/destination-bigquery
|
/publish connector=connectors/destination-csv
|
/publish connector=connectors/destination-local-json
|
/publish connector=connectors/destination-meilisearch
|
/publish connector=connectors/destination-postgres
|
/publish connector=connectors/destination-redshift
|
/publish connector=connectors/destination-snowflake
|
/publish connector=connectors/source-mysql
|
/publish connector=connectors/source-mssql
|
/publish connector=connectors/source-redshift
|
/test connector=source-mysql
|
/test connector=source-postgres
|
* Handle destination sync mode in destinations * Source & Destination sync modes are required (#2500) * Provide Migration script making sure it is always defined for previous sync configs
@ChristopheDuong I'm also not sure python connectors would work like this if we didn't push a new update to base-python and updated all connectors to begin using it. also doesn't this break all existing integration tests? I think the only reason it hasn't is because we didn't publish a new version of the base python image and change connectors to rely on it. |
I guess not because |
Yes, we want to make changes to the protocol (like in this PR by adding a new field for destination sync mode) without breaking all connectors (they should ignore the new field if they don't support it): Related PR was probably: #2238 |
Actually, since the field is required for if we left it as a new optional field, then all would be good? |
What
Following discussion on default sync modes: #2460 (comment)
we've agreed to make the sync mode fields required but provide a migration script that makes sure it is always defined for older standard syncs.
How
Make fields required in
ConfiguredAirbyteStream
and provide migration.Pre-merge Checklist
Recommended reading order
airbyte-integrations/bases/airbyte-protocol/airbyte_protocol/models/airbyte_protocol.py
airbyte-migration/src/main/java/io/airbyte/migrate/migrations/MigrationV0_18_0.java