-
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
Postgres connector creates a similar table for "Center", but tries to load data from another existing table "center" #5171
Comments
Hey team! Please add your planning poker estimate with ZenHub @DoNotPanicUA @VitaliiMaltsev @alexandertsukanov @etsybaev |
Hi @cristiscu. I was trying to reproduce it. Created 2 tables in Postgres: Here is the result: Thanks |
seems like we can not reproduce the issue with provided information, moved on hold until getting a response from @cristiscu |
Additionally checked for other connectors, the issue seems to be in destinations, probably some kind of "toUpperCase()\to LowerCase()" standardization is used. Here are examples for snowflake and MySQL destinations. Records from both tables appear to be migrated to a single table: Here is an example of specs for stream from source: |
I would like to keep this open a bit longer. You came up with a lot of stuff and I had no time to review it. |
@cristiscu I can confirm that basically issue exists, but it's on the destination side as we normalize names for destination connectors. The issue appears to be more comprehensive and reviewers some business solutions as the straightforward fix will break backward compatibility. We're on it. |
relies on airbytehq/airbyte-internal-issues#206 |
guys, you can go ahead and close it if you wish, as I really don't have time right now for this. :( |
Proposals in RFC are blocked on https://github.com/airbytehq/airbyte-internal-issues/issues/645 and #20561 |
Enviroment
Current Behavior
You have both a "Center" and a "center" table in Postgres (this is valid, because Postgres table names are case sensitive). When you transfer data from "Center" through Airbyte from Postgres to let's say Snowflake, with normalization, a similar table is properly created, but the Sync job tries to load data from "center" instead. Delete "center", and data will be properly loaded from "Center".
Expected Behavior
When you transfer both metadata and data from "Center" with normalization, you expect a similar table created, and data loaded from the same "Center" table. Not from another existing "center" table.
Logs
Look below for the following rows:
LOG
2021-08-03 18:51:25 ERROR () LineGobbler(voidCall):85 - Exception in thread "main" java.lang.IllegalArgumentException: Message contained record from a stream that was not in the catalog. 2021-08-03 18:51:25 ERROR () LineGobbler(voidCall):85 - catalog: {"streams":[{"stream":{"name":"Center","json_schema":{"type":"object","properties":{"id":{"type":"number"},"fax":{"type":"string"},"url":{"type":"string"},"city":{"type":"string"},"logo":{"type":"string"},"name":{"type":"string"},"address":{"type":"string"},"contact":{"type":"string"},"StatusId":{"type":"number"},"province":{"type":"string"},"timezone":{"type":"string"},"tollFree":{"type":"string"},"createdAt":{"type":"string"},"legalName":{"type":"string"},"updatedAt":{"type":"string"},"postalCode":{"type":"string"},"_ab_cdc_lsn":{"type":"number"},"phoneNumber":{"type":"string"},"sequenceName":{"type":"string"},"invoicePrefix":{"type":"string"},"AuthenticationId":{"type":"string"},"preauthorization":{"type":"boolean"},"_ab_cdc_deleted_at":{"type":"number"},"_ab_cdc_updated_at":{"type":"number"},"spaBookerLocationId":{"type":"number"},"userLocaleFieldValue":{"type":"string"}}},"supported_sync_modes":["full_refresh","incremental"],"source_defined_cursor":true,"default_cursor_field":[],"source_defined_primary_key":[["id"]],"namespace":"CDC"},"sync_mode":"incremental","cursor_field":[],"destination_sync_mode":"append_dedup","primary_key":[["id"]]}]} , 2021-08-03 18:51:25 ERROR () LineGobbler(voidCall):85 - message: {"type":"RECORD","record":{"stream":"center","data":{"id":1,"name":"**_","timezone":"America/Toronto","spaBookerLocationId":3510,"userLocaleFieldValue":"45997","createdAt":"2019-08-16T23:55:27.34661Z","updatedAt":"2019-08-16T23:55:27.34661Z","StatusId":3,"url":"https://_**.com","_ab_cdc_updated_at":1628016683316,"_ab_cdc_lsn":16161089541632,"_ab_cdc_deleted_at":null},"emitted_at":1628016678681,"namespace":"CDC"}} 2021-08-03 18:51:25 ERROR () LineGobbler(voidCall):85 - at io.airbyte.integrations.destination.buffered_stream_consumer.BufferedStreamConsumer.throwUnrecognizedStream(BufferedStreamConsumer.java:197) 2021-08-03 18:51:25 ERROR () LineGobbler(voidCall):85 - at io.airbyte.integrations.destination.buffered_stream_consumer.BufferedStreamConsumer.acceptTracked(BufferedStreamConsumer.java:157) 2021-08-03 18:51:25 ERROR () LineGobbler(voidCall):85 - at io.airbyte.integrations.base.FailureTrackingAirbyteMessageConsumer.accept(FailureTrackingAirbyteMessageConsumer.java:66) 2021-08-03 18:51:25 ERROR () LineGobbler(voidCall):85 - at io.airbyte.integrations.base.IntegrationRunner.consumeWriteStream(IntegrationRunner.java:167) 2021-08-03 18:51:25 ERROR () LineGobbler(voidCall):85 - at io.airbyte.integrations.base.IntegrationRunner.run(IntegrationRunner.java:148) 2021-08-03 18:51:25 ERROR () LineGobbler(voidCall):85 - at io.airbyte.integrations.destination.snowflake.SnowflakeDestination.main(SnowflakeDestination.java:82)Steps to Reproduce
Are you willing to submit a PR?
Remove this with your answer.
┆Issue is synchronized with this Asana task by Unito
The text was updated successfully, but these errors were encountered: