Skip to content
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

Smartsheets connector raw key:value pair data is scrambled. #8099

Closed
Tracked by #11759
w-gitops opened this issue Nov 18, 2021 · 12 comments · Fixed by #11911
Closed
Tracked by #11759

Smartsheets connector raw key:value pair data is scrambled. #8099

w-gitops opened this issue Nov 18, 2021 · 12 comments · Fixed by #11911

Comments

@w-gitops
Copy link

Enviroment

  • Airbyte version: 0.33.20-alpha
  • OS Version / Instance: Windows 10
  • Deployment: docker
  • Source Connector and version: --> Smartsheets 0.1.6
  • Destination Connector and version: postgres 0.3.12
  • Severity: High
  • Step where error happened: sync job

Current Behavior

In the raw data, The connector fetches key value pairs, but the key doesn't match the right value.

"key-a":"value-c","key-b":"value-a", etc..

As a result the DBT normalization fails, when a type like a date is fed a string.

This problem may not be apparent under some conditions, as numbers and strings are treated the same by smartsheets. So most sheets might not have a mixed type failure unless in this case a date is involved.

Expected Behavior

"KeyA":"ValueA", "KeyB":ValueB

Logs

LOG

2021-11-18 15:16:45 INFO () WorkerRun(call):47 - Executing worker wrapper. Airbyte version: 0.30.20-alpha
2021-11-18 15:16:45 INFO () TemporalAttemptExecution(get):94 - Executing worker wrapper. Airbyte version: 0.30.20-alpha
2021-11-18 15:16:45 WARN () Databases(createPostgresDatabaseWithRetry):38 - Waiting for database to become available...
2021-11-18 15:16:45 INFO () JobsDatabaseInstance(lambda$static$2):25 - Testing if jobs database is ready...
2021-11-18 15:16:45 INFO () Databases(createPostgresDatabaseWithRetry):55 - Database available!
2021-11-18 15:16:45 INFO () DefaultReplicationWorker(run):82 - start sync worker. job id: 101 attempt id: 2
2021-11-18 15:16:45 INFO () DefaultReplicationWorker(run):91 - configured sync modes: {null.Triton 705 | 2021-W42 Cable Length Problems=full_refresh - overwrite}
2021-11-18 15:16:45 INFO () DefaultAirbyteDestination(start):58 - Running destination...
2021-11-18 15:16:45 INFO () LineGobbler(voidCall):65 - Checking if airbyte/destination-postgres:0.3.12 exists...
2021-11-18 15:16:45 INFO () LineGobbler(voidCall):65 - airbyte/destination-postgres:0.3.12 was found locally.
2021-11-18 15:16:45 INFO () DockerProcessFactory(create):127 - Preparing command: docker run --rm --init -i -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -w /data/101/2 --network host --log-driver none airbyte/destination-postgres:0.3.12 write --config destination_config.json --catalog destination_catalog.json
2021-11-18 15:16:45 INFO () LineGobbler(voidCall):65 - Checking if airbyte/source-smartsheets:0.1.6 exists...
2021-11-18 15:16:45 INFO () LineGobbler(voidCall):65 - airbyte/source-smartsheets:0.1.6 was found locally.
2021-11-18 15:16:45 INFO () DockerProcessFactory(create):127 - Preparing command: docker run --rm --init -i -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -w /data/101/2 --network host --log-driver none airbyte/source-smartsheets:0.1.6 read --config source_config.json --catalog source_catalog.json --state input_state.json
2021-11-18 15:16:45 INFO () DefaultReplicationWorker(run):119 - Waiting for source thread to join.
2021-11-18 15:16:45 INFO () DefaultReplicationWorker(lambda$getReplicationRunnable$2):190 - Replication thread started.
2021-11-18 15:16:45 INFO () DefaultReplicationWorker(lambda$getDestinationOutputRunnable$3):226 - Destination output thread started.
2021-11-18 15:16:46 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:46 �[32mINFO�[m i.a.i.d.p.PostgresDestination(main):69 - {} - starting destination: class io.airbyte.integrations.destination.postgres.PostgresDestination
2021-11-18 15:16:46 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:46 �[32mINFO�[m i.a.i.b.IntegrationRunner(run):76 - {} - Running integration: io.airbyte.integrations.base.ssh.SshWrappedDestination
2021-11-18 15:16:46 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:46 �[32mINFO�[m i.a.i.b.IntegrationCliParser(parseOptions):118 - {} - integration args: {catalog=destination_catalog.json, write=null, config=destination_config.json}
2021-11-18 15:16:46 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:46 �[32mINFO�[m i.a.i.b.IntegrationRunner(run):80 - {} - Command: WRITE
2021-11-18 15:16:46 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:46 �[32mINFO�[m i.a.i.b.IntegrationRunner(run):81 - {} - Integration config: IntegrationConfig{command=WRITE, configPath='destination_config.json', catalogPath='destination_catalog.json', statePath='null'}
2021-11-18 15:16:46 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:46 �[33mWARN�[m c.n.s.JsonMetaSchema(newValidator):338 - {} - Unknown keyword order - you should define your own Meta Schema. If the keyword is irrelevant for validation, just use a NonValidationKeyword
2021-11-18 15:16:46 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:46 �[33mWARN�[m c.n.s.JsonMetaSchema(newValidator):338 - {} - Unknown keyword examples - you should define your own Meta Schema. If the keyword is irrelevant for validation, just use a NonValidationKeyword
2021-11-18 15:16:46 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:46 �[33mWARN�[m c.n.s.JsonMetaSchema(newValidator):338 - {} - Unknown keyword airbyte_secret - you should define your own Meta Schema. If the keyword is irrelevant for validation, just use a NonValidationKeyword
2021-11-18 15:16:46 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:46 �[33mWARN�[m c.n.s.JsonMetaSchema(newValidator):338 - {} - Unknown keyword multiline - you should define your own Meta Schema. If the keyword is irrelevant for validation, just use a NonValidationKeyword
2021-11-18 15:16:46 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:46 �[32mINFO�[m i.a.i.b.s.SshTunnel(getInstance):170 - {} - Starting connection with method: NO_TUNNEL
2021-11-18 15:16:46 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:46 �[32mINFO�[m i.a.i.d.j.JdbcBufferedConsumerFactory(lambda$toWriteConfig$0):96 - {} - Write config: WriteConfig{streamName=Triton 705 | 2021-W42 Cable Length Problems, namespace=ss_raw, outputSchemaName=ss_raw, tmpTableName=_airbyte_tmp_dgo_Triton_705___2021_W42_Cable_Length_Problems, outputTableName=_airbyte_raw_Triton_705___2021_W42_Cable_Length_Problems, syncMode=overwrite}
2021-11-18 15:16:46 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:46 �[32mINFO�[m i.a.i.d.b.BufferedStreamConsumer(startTracked):124 - {} - class io.airbyte.integrations.destination.buffered_stream_consumer.BufferedStreamConsumer started.
2021-11-18 15:16:46 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:46 �[32mINFO�[m i.a.i.d.j.JdbcBufferedConsumerFactory(lambda$onStartFunction$1):121 - {} - Preparing tmp tables in destination started for 1 streams
2021-11-18 15:16:46 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:46 �[32mINFO�[m i.a.i.d.j.JdbcBufferedConsumerFactory(lambda$onStartFunction$1):125 - {} - Preparing tmp table in destination started for stream Triton 705 | 2021-W42 Cable Length Problems. schema: ss_raw, tmp table name: _airbyte_tmp_dgo_Triton_705___2021_W42_Cable_Length_Problems
2021-11-18 15:16:48 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:48 �[32mINFO�[m i.a.i.d.j.JdbcBufferedConsumerFactory(lambda$onStartFunction$1):131 - {} - Preparing tables in destination completed.
2021-11-18 15:16:54 INFO () DefaultReplicationWorker(run):121 - Source thread complete.
2021-11-18 15:16:54 INFO () DefaultReplicationWorker(run):122 - Waiting for destination thread to join.
2021-11-18 15:16:54 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:54 �[32mINFO�[m i.a.i.b.FailureTrackingAirbyteMessageConsumer(close):60 - {} - Airbyte message consumer: succeeded.
2021-11-18 15:16:54 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:54 �[32mINFO�[m i.a.i.d.b.BufferedStreamConsumer(close):199 - {} - executing on success close procedure.
2021-11-18 15:16:55 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:55 �[32mINFO�[m i.a.i.d.j.JdbcBufferedConsumerFactory(lambda$onCloseFunction$3):160 - {} - Finalizing tables in destination started for 1 streams
2021-11-18 15:16:55 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:55 �[32mINFO�[m i.a.i.d.j.JdbcBufferedConsumerFactory(lambda$onCloseFunction$3):165 - {} - Finalizing stream Triton 705 | 2021-W42 Cable Length Problems. schema ss_raw, tmp table _airbyte_tmp_dgo_Triton_705___2021_W42_Cable_Length_Problems, final table _airbyte_raw_Triton_705___2021_W42_Cable_Length_Problems
2021-11-18 15:16:56 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:56 �[32mINFO�[m i.a.i.d.j.JdbcBufferedConsumerFactory(lambda$onCloseFunction$3):178 - {} - Executing finalization of tables.
2021-11-18 15:16:56 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:56 �[32mINFO�[m i.a.i.d.j.JdbcBufferedConsumerFactory(lambda$onCloseFunction$3):180 - {} - Finalizing tables in destination completed.
2021-11-18 15:16:56 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:56 �[32mINFO�[m i.a.i.d.j.JdbcBufferedConsumerFactory(lambda$onCloseFunction$3):183 - {} - Cleaning tmp tables in destination started for 1 streams
2021-11-18 15:16:56 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:56 �[32mINFO�[m i.a.i.d.j.JdbcBufferedConsumerFactory(lambda$onCloseFunction$3):187 - {} - Cleaning tmp table in destination started for stream Triton 705 | 2021-W42 Cable Length Problems. schema ss_raw, tmp table name: _airbyte_tmp_dgo_Triton_705___2021_W42_Cable_Length_Problems
2021-11-18 15:16:56 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:56 �[32mINFO�[m i.a.i.d.j.JdbcBufferedConsumerFactory(lambda$onCloseFunction$3):192 - {} - Cleaning tmp tables in destination completed.
2021-11-18 15:16:56 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:56 �[32mINFO�[m i.a.i.b.IntegrationRunner(run):133 - {} - Completed integration: io.airbyte.integrations.base.ssh.SshWrappedDestination
2021-11-18 15:16:56 INFO () DefaultAirbyteStreamFactory(lambda$create$0):53 - 2021-11-18 15:16:56 �[32mINFO�[m i.a.i.d.p.PostgresDestination(main):71 - {} - completed destination: class io.airbyte.integrations.destination.postgres.PostgresDestination
2021-11-18 15:16:56 INFO () DefaultReplicationWorker(run):124 - Destination thread complete.
2021-11-18 15:16:56 INFO () DefaultReplicationWorker(run):152 - sync summary: io.airbyte.config.ReplicationAttemptSummary@67852ab8[status=completed,recordsSynced=478,bytesSynced=1406131,startTime=1637248605255,endTime=1637248616466]
2021-11-18 15:16:56 INFO () DefaultReplicationWorker(run):161 - Source did not output any state messages
2021-11-18 15:16:56 WARN () DefaultReplicationWorker(run):169 - State capture: No new state, falling back on input state: io.airbyte.config.State@261bd7c7[state={}]
2021-11-18 15:16:56 INFO () TemporalAttemptExecution(get):115 - Stopping cancellation check scheduling...
2021-11-18 15:16:56 INFO () SyncWorkflow$ReplicationActivityImpl(replicate):178 - sync summary: io.airbyte.config.StandardSyncOutput@127c1349[standardSyncSummary=io.airbyte.config.StandardSyncSummary@12d7895e[status=completed,recordsSynced=478,bytesSynced=1406131,startTime=1637248605255,endTime=1637248616466],state=io.airbyte.config.State@261bd7c7[state={}],outputCatalog=io.airbyte.protocol.models.ConfiguredAirbyteCatalog@cf7af28[streams=[io.airbyte.protocol.models.ConfiguredAirbyteStream@64a65c1a[stream=io.airbyte.protocol.models.AirbyteStream@1632ed9c[name=Triton 705 | 2021-W42 Cable Length Problems,jsonSchema={"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"#":{"type":"string"},"FU":{"type":"string"},"BGR":{"type":"string"},"POS":{"type":"string"},"RPS":{"type":"string"},"SRTP":{"type":"string"},"EndEU":{"type":"string"},"Eq DK":{"type":"string"},"ItemID":{"type":"string"},"Status":{"type":"string"},"is_12G":{"type":"string"},"is_dmx":{"type":"string"},"End EEL":{"type":"string"},"EndDeck":{"type":"string"},"EndRoom":{"type":"string"},"StartEU":{"type":"string"},"Column58":{"type":"string"},"EndBlock":{"type":"string"},"Equip FZ":{"type":"string"},"Resolved":{"type":"string"},"AreaLabel":{"type":"string"},"CableType":{"type":"string"},"Highlight":{"type":"string"},"OldStatus":{"type":"string"},"Start EEL":{"type":"string"},"StartDeck":{"type":"string"},"StartRoom":{"type":"string"},"Lock Owner":{"type":"string"},"StartBlock":{"type":"string"},"CableLength":{"type":"string"},"Description":{"type":"string"},"End is Rack":{"type":"string"},"EndFirezone":{"type":"string"},"EvolutionID":{"type":"string"},"WTIRelevant":{"type":"string"},"end_is_rack":{"type":"string"},"venue_4code":{"type":"string"},"7500 End JLM":{"type":"string"},"8100 End JLM":{"type":"string"},"Display name":{"type":"string"},"EndEquipment":{"type":"string"},"EndFromBelow":{"type":"string"},"Reviewed HMC":{"type":"string"},"plant_number":{"type":"string"},"8100 Ticketed":{"type":"string"},"CableLengthWD":{"type":"string"},"Creation date":{"type":"string"},"DistanceCable":{"type":"string"},"EndEntryPoint":{"type":"string"},"Flag for 7500":{"type":"string"},"Flag for 8100":{"type":"string"},"Start is Rack":{"type":"string"},"StartFirezone":{"type":"string"},"start_is_rack":{"type":"string"},"7500 Start JLM":{"type":"string"},"8100 Start JLM":{"type":"string"},"BGRResponsible":{"type":"string"},"End JLM (Dash)":{"type":"string"},"EndCompartment":{"type":"string"},"EndExtraLength":{"type":"string"},"Instance Title":{"type":"string"},"Mailed to Yard":{"type":"string"},"Probably Fixed":{"type":"string"},"StartEquipment":{"type":"string"},"StartFromBelow":{"type":"string"},"7500 Cable Type":{"type":"string"},"Called Out 0100":{"type":"string"},"MarkPointLength":{"type":"string"},"ProductionStage":{"type":"string"},"SRTPDescription":{"type":"string"},"StartEntryPoint":{"type":"string"},"DrawingRelevance":{"type":"string"},"Not Easily Fixed":{"type":"string"},"Override End TLA":{"type":"string"},"Rack to Rack Tie":{"type":"string"},"Start JLM (Dash)":{"type":"string"},"StartCompartment":{"type":"string"},"StartExtraLength":{"type":"string"},"CableDescription1":{"type":"string"},"CableDescription2":{"type":"string"},"CableDescription3":{"type":"string"},"Description Error":{"type":"string"},"EndExtraLengthEQT":{"type":"string"},"Last modification":{"type":"string"},"MarkPointCableway":{"type":"string"},"Not a 7500 Change":{"type":"string"},"RPSRedundantCable":{"type":"string"},"Rev Report | Date":{"type":"string","format":"date"},"7500 Description 1":{"type":"string"},"7500 Description 2":{"type":"string"},"8100 Description 1":{"type":"string"},"8100 Description 2":{"type":"string"},"8100 Description 3":{"type":"string"},"Calculated End TLA":{"type":"string"},"Override Start TLA":{"type":"string"},"Revised Cable Type":{"type":"string"},"SRTPRedundantCable":{"type":"string"},"Has Fiber Available":{"type":"string"},"StartExtraLengthEQT":{"type":"string"},"Yard Problem Status":{"type":"string"},"Calculated Start TLA":{"type":"string"},"EndEquipmentPosition":{"type":"string"},"MarkPointDescription":{"type":"string"},"HMC Internal Comments":{"type":"string"},"IgnoreStatusTransition":{"type":"string"},"Revised End JLM (Dash)":{"type":"string"},"StartEquipmentPosition":{"type":"string"},"Yard Flipped Start-End":{"type":"string"},"Mail Resolution to Yard":{"type":"string"},"8100 Adjustment Complete":{"type":"string"},"HMC Suggested Resolution":{"type":"string"},"Revised Start JLM (Dash)":{"type":"string"},"Revised HMC End Equipment":{"type":"string"},"Rev Stats | Type of Change":{"type":"string"},"Revised HMC StartEquipment":{"type":"string"}}},supportedSyncModes=[full_refresh],sourceDefinedCursor=<null>,defaultCursorField=[],sourceDefinedPrimaryKey=[],namespace=ss_raw,additionalProperties={}],syncMode=full_refresh,cursorField=[],destinationSyncMode=overwrite,primaryKey=[],additionalProperties={}]],additionalProperties={}]]
2021-11-18 15:16:56 INFO () TemporalAttemptExecution(get):94 - Executing worker wrapper. Airbyte version: 0.30.20-alpha
2021-11-18 15:16:56 WARN () Databases(createPostgresDatabaseWithRetry):38 - Waiting for database to become available...
2021-11-18 15:16:56 INFO () JobsDatabaseInstance(lambda$static$2):25 - Testing if jobs database is ready...
2021-11-18 15:16:56 INFO () Databases(createPostgresDatabaseWithRetry):55 - Database available!
2021-11-18 15:16:56 INFO () DefaultNormalizationWorker(run):46 - Running normalization.
2021-11-18 15:16:56 INFO () DefaultNormalizationRunner(runProcess):107 - Running with normalization version: airbyte/normalization:0.1.52
2021-11-18 15:16:56 INFO () LineGobbler(voidCall):65 - Checking if airbyte/normalization:0.1.52 exists...
2021-11-18 15:16:56 INFO () LineGobbler(voidCall):65 - airbyte/normalization:0.1.52 was found locally.
2021-11-18 15:16:56 INFO () DockerProcessFactory(create):127 - Preparing command: docker run --rm --init -i -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -w /data/101/2/normalize --network host --log-driver none airbyte/normalization:0.1.52 run --integration-type postgres --config destination_config.json --catalog destination_catalog.json
2021-11-18 15:16:57 INFO () LineGobbler(voidCall):65 - Running: transform-config --config destination_config.json --integration-type postgres --out /data/101/2/normalize
2021-11-18 15:16:57 INFO () LineGobbler(voidCall):65 - Namespace(config='destination_config.json', integration_type=<DestinationType.postgres: 'postgres'>, out='/data/101/2/normalize')
2021-11-18 15:16:57 INFO () LineGobbler(voidCall):65 - transform_postgres
2021-11-18 15:16:57 INFO () LineGobbler(voidCall):65 - Running: transform-catalog --integration-type postgres --profile-config-dir /data/101/2/normalize --catalog destination_catalog.json --out /data/101/2/normalize/models/generated/ --json-column _airbyte_data
2021-11-18 15:16:57 INFO () LineGobbler(voidCall):65 - Processing destination_catalog.json...
2021-11-18 15:16:57 INFO () LineGobbler(voidCall):65 -   Generating airbyte_ctes/ss_raw/triton_705___2021_w42_cable_length_problems_ab1.sql from Triton 705 | 2021-W42 Cable Length Problems
2021-11-18 15:16:57 INFO () LineGobbler(voidCall):65 -   Generating airbyte_ctes/ss_raw/triton_705___2021_w42_cable_length_problems_ab2.sql from Triton 705 | 2021-W42 Cable Length Problems
2021-11-18 15:16:57 INFO () LineGobbler(voidCall):65 - Truncating _airbyte_triton_705___2021_w42_cable_length_problems_hashid (#59) to _airbyte_triton_705__ength_problems_hashid (#43)
2021-11-18 15:16:57 INFO () LineGobbler(voidCall):65 -   Generating airbyte_ctes/ss_raw/triton_705___2021_w42_cable_length_problems_ab3.sql from Triton 705 | 2021-W42 Cable Length Problems
2021-11-18 15:16:57 INFO () LineGobbler(voidCall):65 - Truncating _airbyte_triton_705___2021_w42_cable_length_problems_hashid (#59) to _airbyte_triton_705__ength_problems_hashid (#43)
2021-11-18 15:16:57 INFO () LineGobbler(voidCall):65 -   Generating airbyte_tables/ss_raw/triton_705___2021_w42_cable_length_problems.sql from Triton 705 | 2021-W42 Cable Length Problems
2021-11-18 15:16:57 INFO () LineGobbler(voidCall):65 - detected no config file for ssh, assuming ssh is off.
2021-11-18 15:16:57 INFO () LineGobbler(voidCall):65 - Running with dbt=0.19.0
2021-11-18 15:16:58 INFO () LineGobbler(voidCall):65 - [�[33mWARNING�[0m]: Configuration paths exist in your dbt_project.yml file which do not apply to any resources.
2021-11-18 15:16:58 INFO () LineGobbler(voidCall):65 - There are 1 unused configuration paths:
2021-11-18 15:16:58 INFO () LineGobbler(voidCall):65 - - models.airbyte_utils.generated.airbyte_views
2021-11-18 15:16:58 INFO () LineGobbler(voidCall):65 - 
2021-11-18 15:16:58 INFO () LineGobbler(voidCall):65 - Found 4 models, 0 tests, 0 snapshots, 0 analyses, 422 macros, 0 operations, 0 seed files, 1 source, 0 exposures
2021-11-18 15:16:58 INFO () LineGobbler(voidCall):65 - 
2021-11-18 15:17:01 INFO () LineGobbler(voidCall):65 - 15:17:01 | Concurrency: 32 threads (target='prod')
2021-11-18 15:17:01 INFO () LineGobbler(voidCall):65 - 15:17:01 | 
2021-11-18 15:17:01 INFO () LineGobbler(voidCall):65 - 15:17:01 | 1 of 1 START table model ss_raw.triton_705___2021_w42_cable_length_problems.................................. [RUN]
2021-11-18 15:17:03 INFO () LineGobbler(voidCall):65 - 15:17:03 | 1 of 1 ERROR creating table model ss_raw.triton_705___2021_w42_cable_length_problems......................... [�[31mERROR�[0m in 1.21s]
2021-11-18 15:17:03 INFO () LineGobbler(voidCall):65 - 15:17:03 | 
2021-11-18 15:17:03 INFO () LineGobbler(voidCall):65 - 15:17:03 | Finished running 1 table model in 4.93s.
2021-11-18 15:17:03 INFO () LineGobbler(voidCall):65 - 
2021-11-18 15:17:03 INFO () LineGobbler(voidCall):65 - �[31mCompleted with 1 error and 0 warnings:�[0m
2021-11-18 15:17:03 INFO () LineGobbler(voidCall):65 - 
2021-11-18 15:17:03 INFO () LineGobbler(voidCall):65 - �[33mDatabase Error in model triton_705___2021_w42_cable_length_problems (models/generated/airbyte_tables/ss_raw/triton_705___2021_w42_cable_length_problems.sql)�[0m
2021-11-18 15:17:03 INFO () LineGobbler(voidCall):65 -   invalid input syntax for type date: "false"
2021-11-18 15:17:03 INFO () LineGobbler(voidCall):65 -   compiled SQL at ../build/run/airbyte_utils/models/generated/airbyte_tables/ss_raw/triton_705___2021_w42_cable_length_problems.sql
2021-11-18 15:17:03 INFO () LineGobbler(voidCall):65 - 
2021-11-18 15:17:03 INFO () LineGobbler(voidCall):65 - Done. PASS=0 WARN=0 ERROR=1 SKIP=0 TOTAL=1
2021-11-18 15:17:04 INFO () TemporalAttemptExecution(lambda$getWorkerThread$1):148 - Completing future exceptionally...
io.airbyte.workers.WorkerException: Normalization Failed.
	at io.airbyte.workers.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:60) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
	at io.airbyte.workers.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:18) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
	at io.airbyte.workers.temporal.TemporalAttemptExecution.lambda$getWorkerThread$1(TemporalAttemptExecution.java:145) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
	at java.lang.Thread.run(Thread.java:832) [?:?]
Caused by: io.airbyte.workers.WorkerException: Normalization Failed.
	at io.airbyte.workers.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:57) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
	... 3 more
	Suppressed: io.airbyte.workers.WorkerException: Normalization process wasn't successful
		at io.airbyte.workers.normalization.DefaultNormalizationRunner.close(DefaultNormalizationRunner.java:135) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
		at io.airbyte.workers.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:45) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
		at io.airbyte.workers.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:18) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
		at io.airbyte.workers.temporal.TemporalAttemptExecution.lambda$getWorkerThread$1(TemporalAttemptExecution.java:145) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
		at java.lang.Thread.run(Thread.java:832) [?:?]
2021-11-18 15:17:04 INFO () TemporalAttemptExecution(get):115 - Stopping cancellation check scheduling...
2021-11-18 15:17:04 WARN () POJOActivityTaskHandler$POJOActivityImplementation(execute):243 - Activity failure. ActivityId=613ba2c9-ac5b-3dc3-8045-4d1e7f2b773f, activityType=Normalize, attempt=1
java.util.concurrent.ExecutionException: io.airbyte.workers.WorkerException: Normalization Failed.
	at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395) ~[?:?]
	at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2063) ~[?:?]
	at io.airbyte.workers.temporal.TemporalAttemptExecution.get(TemporalAttemptExecution.java:113) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
	at io.airbyte.workers.temporal.SyncWorkflow$NormalizationActivityImpl.normalize(SyncWorkflow.java:299) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:564) ~[?:?]
	at io.temporal.internal.sync.POJOActivityTaskHandler$POJOActivityInboundCallsInterceptor.execute(POJOActivityTaskHandler.java:277) ~[temporal-sdk-1.0.4.jar:?]
	at io.temporal.internal.sync.POJOActivityTaskHandler$POJOActivityImplementation.execute(POJOActivityTaskHandler.java:216) ~[temporal-sdk-1.0.4.jar:?]
	at io.temporal.internal.sync.POJOActivityTaskHandler.handle(POJOActivityTaskHandler.java:181) ~[temporal-sdk-1.0.4.jar:?]
	at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:192) ~[temporal-sdk-1.0.4.jar:?]
	at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:154) ~[temporal-sdk-1.0.4.jar:?]
	at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:73) ~[temporal-sdk-1.0.4.jar:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) [?:?]
	at java.lang.Thread.run(Thread.java:832) [?:?]
Caused by: io.airbyte.workers.WorkerException: Normalization Failed.
	at io.airbyte.workers.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:60) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
	at io.airbyte.workers.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:18) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
	at io.airbyte.workers.temporal.TemporalAttemptExecution.lambda$getWorkerThread$1(TemporalAttemptExecution.java:145) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
	... 1 more
Caused by: io.airbyte.workers.WorkerException: Normalization Failed.
	at io.airbyte.workers.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:57) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
	at io.airbyte.workers.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:18) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
	at io.airbyte.workers.temporal.TemporalAttemptExecution.lambda$getWorkerThread$1(TemporalAttemptExecution.java:145) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
	... 1 more
	Suppressed: io.airbyte.workers.WorkerException: Normalization process wasn't successful
		at io.airbyte.workers.normalization.DefaultNormalizationRunner.close(DefaultNormalizationRunner.java:135) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
		at io.airbyte.workers.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:45) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
		at io.airbyte.workers.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:18) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
		at io.airbyte.workers.temporal.TemporalAttemptExecution.lambda$getWorkerThread$1(TemporalAttemptExecution.java:145) ~[io.airbyte-airbyte-workers-0.30.20-alpha.jar:?]
		at java.lang.Thread.run(Thread.java:832) [?:?]

Steps to Reproduce

Are you willing to submit a PR?

If I can get my dev environment up and running

@w-gitops w-gitops added the type/bug Something isn't working label Nov 18, 2021
@w-gitops w-gitops changed the title Smartsheets connector raw data is scrambled. Smartsheets connector raw key:value pair data is scrambled. Nov 18, 2021
@sherifnada sherifnada added the area/connectors Connector related issues label Nov 19, 2021
@tehnorm
Copy link

tehnorm commented Dec 7, 2021

Also seeing this issue as well. Syncing from Smart Sheet to Postgres

Smart Sheet Row

Job No Name Estimator Entry Completed Take Off Excel CS Sheet Excel CS Sheet Sub Sheet Name Multiple Rows Aggregate Project Non-standard takeoff? Take Off Type Region Specific Bldg Type Structural Eng Architect Unit Count Gross SQFT Porch SQFT Below Podium Wall Height L1 BC Wall Hgt L2 BC Wall Hgt L3 BC Wall Hgt L4 BC Wall Hgt L5 BC Wall Hgt Tall @ Parallel GSF Walls below Podium GSF L1 Walls GSF L2 Walls GSF L3 Walls GSF L4 Walls GSF L5 Walls GSF L1 Floors GSF L2 Floors GSF L3 Floors GSF L4 Floors GSF L5 Floors Roof GSF Labor Incld? Walls Incld? Panels? Floors Incld? Roof Incld? Hardware Incld? Win & Doors Incld? Building Wrap Incld?
GA20-0440-0 Modera Name Yes https://box.com/s/ https://app.box.com/file/ 2-1-21 Final Sale       Full South East Type III – Apartments - 5 Levels Ellinwood & Machado Cooper Carry 194 282046 11390 0 9 9 9 9 11   0 45800 53146 57818 57805 56087 0 45293 52821 57194 57189 57231 TRUE TRUE   TRUE TRUE TRUE TRUE TRUE

_airbyte_data payload

{
  "Name": "GA20-0440-0",
  "Job No": "Modera",
  "Region": "name@test.com",
  "Panels?": "Yes",
  "Roof GSF": "https://box.com/s/",
  "Architect": "https://app.box.com/file/",
  "Estimator": "2-1-21 Final Sale",
  "Gross SQFT": "",
  "Porch SQFT": "",
  "Unit Count": "",
  "Roof Incld?": "Full",
  "GSF L1 Walls": "South East",
  "GSF L2 Walls": "Type III – Apartments - 5 Levels",
  "GSF L3 Walls": "Ellinwood & Machado",
  "GSF L4 Walls": "Cooper Carry",
  "GSF L5 Walls": 194,
  "Labor Incld?": 282046,
  "Walls Incld?": 11390,
  "Floors Incld?": 0,
  "GSF L1 Floors": 9,
  "GSF L2 Floors": 9,
  "GSF L3 Floors": 9,
  "GSF L4 Floors": 9,
  "GSF L5 Floors": 11,
  "Multiple Rows": "",
  "Take Off Type": 0,
  "CS Sheet Excel": 45800,
  "L1 BC Wall Hgt": 53146,
  "L2 BC Wall Hgt": 57818,
  "L3 BC Wall Hgt": 57805,
  "L4 BC Wall Hgt": 56087,
  "L5 BC Wall Hgt": 0,
  "Structural Eng": 45293,
  "Take Off Excel": 52821,
  "Entry Completed": 57194,
  "Hardware Incld?": 57189,
  "Tall @ Parallel": 57231,
  "Aggregate Project": true,
  "Specific Bldg Type": true,
  "Win & Doors Incld?": "",
  "Building Wrap Incld?": true,
  "Non-standard takeoff?": true,
  "GSF Walls below Podium": true,
  "CS Sheet Sub Sheet Name": true,
  "Below Podium Wall Height": true
}

@w-gitops
Copy link
Author

w-gitops commented Dec 16, 2021

I did a basic map analysis, and it looks like it's 1 field off:
In this case, primary column is 1, and the other cell entries have the number that should correspond to the column.
image

This is also true in the raw data, so it's not a normalization problem:
image

@zzstoatzz Any ideas? Thanks!

Side note: I am also syncing to Postgres. Perhaps that's the common denominator? I'll try snowflake after the holiday break.

@w-gitops
Copy link
Author

@tehnorm
Maybe we should try a local CSV destination or similar, and see if it's a source problem or a mapping to destination problem..
It's going to be a minute before I get to that..

@zzstoatzz
Copy link
Contributor

@willsargent hey will!

I'd really like to help resolve this, but I'm currently swamped. I believe what may have happened is that I fixed this myself and built a new image locally but forgot to go through with pushing this to airbyte master.

This should be the source I built the working image from - I hope this is somewhat helpful, I'll return to this when I can!

https://github.com/zzstoatzz/airbyte/blob/master/airbyte-integrations/connectors/source-smartsheets/source_smartsheets/source.py

@w-gitops
Copy link
Author

Thanks for this @zzstoatzz! I'll take a look at this and see what we can do on that front. Really appreciate your work on this! Have a great Holiday!

@w-gitops
Copy link
Author

@zzstoatzz Looks like that fixes it! I'll work through the PR process on this, all credit to you of course! Thanks again!

@Madhukarsprabhakara
Copy link

@willsargent I tried this fix but in my case it still doesn't not work. I am running airbyte on docker container and I did the following

  1. Overwrote the source.py for smartsheets with the one attached above
  2. Compiled airbyte by running "./gradlew :airbyte-integrations:connectors:source_smartsheets:build"
  3. docker-compose up

Did I do anything wrong?

@w-gitops
Copy link
Author

w-gitops commented Feb 21, 2022 via email

@Madhukarsprabhakara
Copy link

Thanks a lot @willsargent . I really appreciate the help!

@Madhukarsprabhakara
Copy link

Hi @willsargent just circling back to check if you got a chance to look at this. Trying to resolve this for a client sorry to bother you. Thanks again!

Copy link
Collaborator

Marcos Marx commented: @tehnorm
Maybe we should try a local CSV destination or similar, and see if it's a source problem or a mapping to destination problem..
It's going to be a minute before I get to that..

@w-gitops
Copy link
Author

Deepest apologies, as this problem was traced, identified and solved with the code in the PR, but I messed up the PR with a bunch of files that should have been .ignored. I'll clean it up tomorrow
@Madhukarsprabhakara
Here's the procedure to build local docker image:
Clone repo locally,
In directory airbyte/airbyte-integrations/connectors/source-smartsheets
Run command:
Tested with python 3.9.10, using pyenv-win

python -m venv .venv
python -m pip install -r requirements.txt
docker build . -t airbyte/source-smartsheets:dev

Then, from the source connector page where you can select what version of the connector you want, use "dev", no quotes.
(instead of 0.1.8, etc..) If it loads, you will get an OK, and the current connector will say dev.

Sorry for the abbreviated cheat sheet that makes a few assumptions, but no need to use gradle, just docker build.

Hope this helps, and I'll get the PR's fixed because the second one adds some nice features as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment