-
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
destination-s3-glue: Add TableType and fix race condition #22220
Conversation
cc @itaseskii |
/test connector=connectors/destination-s3-glue
Build PassedTest summary info:
|
0ccee34
to
8cc1063
Compare
/test connector=connectors/destination-s3-glue |
d2dd1d9
to
455f856
Compare
/test connector=connectors/destination-s3-glue |
/test connector=connectors/destination-s3-glue |
/test connector=connectors/destination-s3-glue
Build PassedTest summary info:
|
Please hold on merging this. I have found a potential bug and am working on fixing it. |
Nevermind, false alarm. Please proceed with merging as you are ready and able 🙂 |
@sajarin @itaseskii what are the next steps here? Let me know if there's anything I can help with. |
@blarghmatey this looks good, the next steps here are to publish the connector and then merge it into master. I would run the action for the publishing but we have a code freeze in place until Monday so I won't be able to merge until then. |
@sajarin if you are able to publish the connector that would be perfect. I'm happy to wait for the code to merge as long as I can get the connector updated. Is that possible |
@sajarin can we get this released and merged today? Thanks! |
/test connector=connectors/destination-s3-glue
Build PassedTest summary info:
|
/publish connector=connectors/destination-s3-glue
if you have connectors that successfully published but failed definition generation, follow step 4 here |
@blarghmatey looks like I can't push to your branch can you follow step 4 from the instructions linked above and generate the definitions by editing the destination.yaml file and running the gradle command? We can merge once the changes are committed and pushed. Thanks for being patient. |
- The TableType attribute is not getting populated in the Glue catalog which has started to lead to errors when trying to query the table from e.g. Trino. The error message observed is `Cannot invoke "String.equals(Object)" because "tableType" is null` - There is a race condition in initializing the destination connector where a failure occurs if multiple connections attempt to initialize at the same time, because the test table that gets created is statically named. This adds a random suffix to the table to avoid that race condition. - The Airbyte sync ID and emitted_at fields are useful for deduplicating data. This adds those fields to the table definition since they are already included in the records as written.
Thanks for the PR @blarghmatey and thanks for the review @itaseskii |
…22220) - The TableType attribute is not getting populated in the Glue catalog which has started to lead to errors when trying to query the table from e.g. Trino. The error message observed is `Cannot invoke "String.equals(Object)" because "tableType" is null` - There is a race condition in initializing the destination connector where a failure occurs if multiple connections attempt to initialize at the same time, because the test table that gets created is statically named. This adds a random suffix to the table to avoid that race condition. - The Airbyte sync ID and emitted_at fields are useful for deduplicating data. This adds those fields to the table definition since they are already included in the records as written.
Cannot invoke "String.equals(Object)" because "tableType" is null
What
Describe what the change is solving
It helps to add screenshots if it affects the frontend.
How
Describe the solution
Recommended reading order
x.java
y.python
🚨 User Impact 🚨
Are there any breaking changes? What is the end result perceived by the user? If yes, please merge this PR with the 🚨🚨 emoji so changelog authors can further highlight this if needed.
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/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