Repository navigation
🚨🚨Source S3: use platform-handled schema evolution - #25127
Artem Inzhyyants (artem1205) merged 14 commits into
Conversation
Serhii Lazebnyi (lazebnyi)
left a comment
There was a problem hiding this comment.
Do not forget communicate with TCS about breaking changes.
LGTM!
Catherine Noll (clnoll)
left a comment
There was a problem hiding this comment.
I left one code question for you Artem Inzhyyants (@artem1205).
I also saw a note in the issue that was linked:
NOTE: Dependent on [schema evolution being implemented at platform level](https://docs.google.com/document/d/1zJVUQkVy8ZJUcqzM_hYPGijr4pI0Xx6I2eqpagJ2r7E/edit#).
Given that the document that's linked is dated April 2022 it seems like it's probably done, but I'd like to confirm there's no outstanding work blocking this from being merged. cc Jared Rhizor (@jrhizor)
Assuming there are no blockers & that we're handling schema evolution on the platform, is this a breaking change?
| """ | ||
| compare_columns = [c for c in target_columns if c not in [self.ab_last_mod_col, self.ab_file_name_col]] | ||
| # check if we're already matching to avoid unnecessary iteration | ||
| if set(list(record.keys()) + [self.ab_additional_col]) == set(compare_columns): |
There was a problem hiding this comment.
Can we remove the ab_additional_col attribute from the FileStream object too?
There was a problem hiding this comment.
ab_additional_col removed.
I think yes, it may be a breaking changes, as there might be some users, who are still expect their data in ab_additional_col. In this case, They need to make a schema refresh.
There was a problem hiding this comment.
Sorry Artem Inzhyyants (@artem1205) I didn't realize that would be a breaking change. WDYT about leaving ab_additional_col for now and do the breaking change separately?
There was a problem hiding this comment.
Catherine Noll (@clnoll) ,
The breaking change is exactly about removing this functionality: removing adding "new" columns in ab_additional_col and make it on platform level (by refreshing the schema)
There was a problem hiding this comment.
Thanks for clarifying Artem Inzhyyants (@artem1205). Do you know how the platform will handle the changed schema if we're not putting new fields in ab_additional_col ?
|
Link to Release Playbook: https://docs.google.com/document/d/1z4ubuw0CiDXxuoMlqJjRx4HnH8AantiH2w0VanYFxpQ |
|
Artem Inzhyyants (@artem1205) reminder to get this out today hopefully before 9am PST. |
# Conflicts: # airbyte-integrations/connectors/source-s3/integration_tests/integration_test_abstract.py # airbyte-integrations/connectors/source-s3/source_s3/source_files_abstract/stream.py
|
/test connector=connectors/source-s3
Build FailedTest summary info: |
|
/test connector=connectors/source-s3 |
|
Juan (@jnr0790) , working on deployment, will publish once API limits will restore https://github.com/airbytehq/airbyte/actions/runs/4863705385/jobs/8671770488 |
|
/test connector=connectors/source-s3
Build FailedTest summary info: |
|
/test connector=connectors/source-s3
Build FailedTest summary info: |
|
Artem Inzhyyants (@artem1205) looks like this didn't go out. can you let me know when it's ready so I can send a new update date email to users about the change |
|
Juan (@jnr0790) , still working on this, need to fix some integration tests after conflict resolving. I'll let you know once it will be finished. |
|
/test connector=connectors/source-s3
Build FailedTest summary info: |
|
/test connector=connectors/source-s3
Build PassedTest summary info: |
|
Juan (@jnr0790), all tests passed successfully. I'm ready to merge it. |
|
Artem Inzhyyants (@artem1205) lets merge it Monday May 15th 11am EST. I'll be sending an updated date comms to users |
# Conflicts: # airbyte-integrations/connectors/source-s3/Dockerfile # docs/integrations/sources/s3.md
|
Artem Inzhyyants (@artem1205) just a reminder to get this out today in about 1hr 30mins. |
|
/publish connector=connectors/source-s3
if you have connectors that successfully published but failed definition generation, follow step 4 here |
# Conflicts: # airbyte-integrations/connectors/source-s3/metadata.yaml
|
/publish connector=connectors/source-s3
if you have connectors that successfully published but failed definition generation, follow step 4 here |
* Source S3: Remove match_target_schema; use platform-handled schema evolution instead * Source S3: Remove ab_additional_col * Source S3: update docs; bump version * Source S3: fix unit tests * Source S3: fix expected_records * Source S3: revert _match_target_schema * Source S3: update expected records for parquet dataset * Source S3: update metadata * auto-bump connector version --------- Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
What
Resolving #11930
How
Remove
match_target_schemaRecommended reading order
x.javay.python🚨 User Impact 🚨
_ab_additional_propertieswill no more be populated, schema refresh needed.Pre-merge Checklist
Updating a connector
Community member or Airbyter
Grant edit access to maintainers (instructions)
Secrets in the connector's spec are annotated with
airbyte_secretUnit & integration tests added and passing. Community members, please provide proof of success locally e.g: screenshot or copy-paste unit, integration, and acceptance test output. To run acceptance tests for a Python connector, follow instructions in the README. For java connectors run
./gradlew :airbyte-integrations:connectors:<name>:integrationTest.Code reviews completed
Connector version has been incremented
Dockerfilehas updated versionDocumentation updated
README.mdbootstrap.md. See description and examplesdocs/integrations/<source or destination>/<name>.mdwith an entry for the new version. See changelog examplePR name follows PR naming conventions
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/publishcommand described here