airbyte
airbyte copied to clipboard
🎉 New Destination: DuckDB
What
- initial version of a DuckDB destination
- I added the dbt normalization
How
- Implemented with the Python CDK very similar to destination-sqlite. The code is mostly a copy of that.
Recommended reading order
- Read the implementation of the duckdb destination
- check out the added dbt normalization
- check the comment here for some specialties that didn't work without help initially.
Pre-merge Checklist
Expand the relevant checklist and delete the others.
New Connector
Community member or Airbyter
- [ ] Community member? Grant edit access to maintainers (instructions)
- [ ] Secrets in the connector's spec are annotated with
airbyte_secret
- [x] Unit & 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
- [ ] Documentation updated
- [x] Connector's
README.md
- [ ] Connector's
bootstrap.md
. See description and examples - [x]
docs/integrations/<source or destination>/<name>.md
including changelog. See changelog example - [x]
docs/integrations/README.md
- [x]
airbyte-integrations/builds.md
- [x] Connector's
- [x] PR name follows PR naming conventions
Airbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
- [x] Create a non-forked branch based on this PR and test the below items on it
- [ ] Build is successful
- [ ] If new credentials are required for use in CI, add them to GSM. Instructions.
- [ ]
/test connector=connectors/<name>
command is passing - [ ] New Connector version released on Dockerhub by running the
/publish
command described here - [ ] After the connector is published, connector added to connector index as described here
- [ ] Seed specs have been re-generated by building the platform and committing the changes to the seed spec files, as described here
Connector Generator
- [x] Issue acceptance criteria met
- [x] PR name follows PR naming conventions
- [ ] If adding a new generator, add it to the list of scaffold modules being tested
- [ ] The generator test modules (all connectors with
-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 - [ ] Documentation which references the generator is updated as needed
Tests
Unit
> Task :airbyte-integrations:connectors:destination-duckdb:unitTest
Name Stmts Miss Cover
-------------------------------------------------------
destination_duckdb/__init__.py 2 0 100%
destination_duckdb/destination.py 70 48 31%
-------------------------------------------------------
TOTAL 72 48 33%
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See https://docs.gradle.org/7.6/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 21s
33 actionable tasks: 21 executed, 12 up-to-date
Integration
> Task :airbyte-integrations:connectors:destination-duckdb:customIntegrationTests
Name Stmts Miss Cover
-------------------------------------------------------
destination_duckdb/__init__.py 2 0 100%
destination_duckdb/destination.py 70 15 79%
-------------------------------------------------------
TOTAL 72 15 79%
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See https://docs.gradle.org/7.6/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 13s
33 actionable tasks: 15 executed, 18 up-to-date
Acceptance
Not found for Python
Converting PR back to "draft" and trying to add normalization at the same time. Any help or hints are appreciated; there are quite a lot of files touched for normalization.
I followed the most recent destination: https://github.com/airbytehq/airbyte/pull/15592/.
Hi @marcosmarxm
Could you or someone help me with this PR to finish the normalization part of the DuckDB destination, please?
Tests
The unit tests and integration tests are looking good (see description above) and I can run a sync successfully without normalization:
added the destination manually like this
Error with Normalization
I have an error when running normalization with:
How I build and tested it:
SUB_BUILD=PLATFORM ./gradlew build
VERSION=dev docker-compose up
docker build ./airbyte-integrations/connectors/destination-duckdb -t airbyte/duckdb:dev
Unfortunately, I get an error on the normalization part I'm not sure what the problem is, suspicious part but it's only an WARN (see the full log below):
airbyte-worker | 2022-11-28 20:18:21 WARN i.a.w.g.DefaultReplicationWorker(lambda$getReplicationRunnable$5):366 - Schema validation errors found for stream Products. Error messages: [$.created_at is of an incorrect type. Expected it to be date-time, $.year is of an incorrect type. Expected it to be string]
Tail but do not really know what to do or debug:
airbyte-worker | Caused by: io.temporal.failure.ApplicationFailure: message='io.temporal.serviceclient.CheckedExceptionWrapper: java.util.concurrent.ExecutionException: io.airbyte.workers.exception.WorkerException: Normalization Failed.', type='java.lang.RuntimeException', nonRetryable=false
airbyte-worker | at io.airbyte.commons.temporal.TemporalUtils.withBackgroundHeartbeat(TemporalUtils.java:278) ~[io.airbyte-airbyte-commons-temporal-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.normalize(NormalizationActivityImpl.java:93) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method:0) ~[?:?]
airbyte-worker | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
airbyte-worker | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
airbyte-worker | at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityInboundCallsInterceptor.execute(POJOActivityTaskHandler.java:214) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityImplementation.execute(POJOActivityTaskHandler.java:180) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler.handle(POJOActivityTaskHandler.java:120) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:204) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:164) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:93) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
airbyte-worker | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
airbyte-worker | at java.base/java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | Caused by: io.temporal.failure.ApplicationFailure: message='io.airbyte.workers.exception.WorkerException: Normalization Failed.', type='java.util.concurrent.ExecutionException', nonRetryable=false
airbyte-worker | at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?]
airbyte-worker | at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) ~[?:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.get(TemporalAttemptExecution.java:132) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.lambda$normalize$3(NormalizationActivityImpl.java:121) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.commons.temporal.TemporalUtils.withBackgroundHeartbeat(TemporalUtils.java:273) ~[io.airbyte-airbyte-commons-temporal-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.normalize(NormalizationActivityImpl.java:93) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method:0) ~[?:?]
airbyte-worker | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
airbyte-worker | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
airbyte-worker | at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityInboundCallsInterceptor.execute(POJOActivityTaskHandler.java:214) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityImplementation.execute(POJOActivityTaskHandler.java:180) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler.handle(POJOActivityTaskHandler.java:120) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:204) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:164) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:93) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
airbyte-worker | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
airbyte-worker | at java.base/java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | Caused by: io.temporal.failure.ApplicationFailure: message='Normalization Failed.', type='io.airbyte.workers.exception.WorkerException', nonRetryable=false
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:92) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:27) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.lambda$getWorkerThread$2(TemporalAttemptExecution.java:161) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.base/java.lang.Thread.run(Thread.java:833) ~[?:?]
Any help is much appreciated.
Full log on normalization sync:
airbyte-server | 2022-11-28 20:18:13 INFO i.a.w.t.TemporalClient(startNewManualSync):318 - Manual sync request
airbyte-server | 2022-11-28 20:18:13 INFO i.a.w.t.ConnectionManagerUtils(signalWorkflowAndRepairIfNecessary):95 - Retrieved existing connection manager workflow for connection 90825c11-8204-410a-ad1d-a841a3ea02c8. Executing signal.
airbyte-worker | 2022-11-28 20:18:13 INFO i.a.w.t.s.a.JobCreationAndStatusUpdateActivityImpl(createNewJob):110 - Found the following streams to reset for connection 90825c11-8204-410a-ad1d-a841a3ea02c8: []
airbyte-worker | 2022-11-28 20:18:13 INFO i.a.p.j.DefaultJobPersistence(enqueueJob):160 - enqueuing pending job for scope: 90825c11-8204-410a-ad1d-a841a3ea02c8
airbyte-worker | 2022-11-28 20:18:13 INFO i.a.w.t.s.a.JobCreationAndStatusUpdateActivityImpl(createNewJob):136 - New job created, with id: 3
airbyte-worker | 2022-11-28 20:18:13 INFO i.a.a.LoggingTrackingClient(track):43 - track. version: null, userId: null, action: Connector Jobs, metadata: {job_type=sync, namespace_definition=source, frequency=1440 min, connector_source_definition_id=dfd88b22-b603-4c3d-aad7-3701784586b1, workspace_id=447352f0-70f1-4d70-8dde-d7c566db9a11, attempt_stage=STARTED, attempt_id=1, connector_destination=DuckDB, connector_destination_docker_repository=airbyte/destination-duckdb, table_prefix=false, workspace_name=447352f0-70f1-4d70-8dde-d7c566db9a11, catalog.destination_sync_mode.overwrite=set, number_of_streams=3, connector_source=Faker, connector_source_docker_repository=airbyte/source-faker, catalog.sync_mode.full_refresh=set, connection_id=90825c11-8204-410a-ad1d-a841a3ea02c8, job_id=3, connector_source_version=0.1.6, config.destination.destination_path=set, connector_destination_version=dev, config.source.records_per_sync=set, operation.normalization=1, config.source.records_per_slice=set, operation_count=1, connector_destination_definition_id=3417e215-ae62-4632-8179-0c8ac8fda975, config.source.count=set, config.source.seed=set}
airbyte-worker | 2022-11-28 20:18:13 INFO i.a.w.t.s.ConnectionManagerWorkflowImpl(checkConnections):408 - SOURCE CHECK: Starting
airbyte-worker | 2022-11-28 20:18:13 INFO i.a.w.t.TemporalAttemptExecution(get):108 - Docker volume job log path: /tmp/workspace/3/0/logs.log
airbyte-worker | 2022-11-28 20:18:13 INFO i.a.w.t.TemporalAttemptExecution(get):113 - Executing worker wrapper. Airbyte version: dev
airbyte-server | 2022-11-28 20:18:13 INFO i.a.w.t.TemporalClient(startNewManualSync):346 - end of manual schedule
airbyte-server | 2022-11-28 20:18:13 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/attempt/set_workflow_in_attempt - {"jobId":3,"attemptNumber":0,"workflowId":"connection_manager_90825c11-8204-410a-ad1d-a841a3ea02c8"}
airbyte-server | 2022-11-28 20:18:13 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.4 POST 200 /api/v1/connections/sync - {"connectionId":"90825c11-8204-410a-ad1d-a841a3ea02c8"}
airbyte-webapp | 172.18.0.1 - airbyte [28/Nov/2022:20:18:13 +0000] "POST /api/v1/connections/sync HTTP/1.1" 200 1696 "http://localhost:8000/workspaces/447352f0-70f1-4d70-8dde-d7c566db9a11/connections/90825c11-8204-410a-ad1d-a841a3ea02c8/status" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36" "-"
airbyte-worker | 2022-11-28 20:18:13 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:13 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- START CHECK -----
airbyte-worker | 2022-11-28 20:18:13 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:13 INFO i.a.c.i.LineGobbler(voidCall):114 - Checking if airbyte/source-faker:0.1.6 exists...
airbyte-worker | 2022-11-28 20:18:13 INFO i.a.c.i.LineGobbler(voidCall):114 - airbyte/source-faker:0.1.6 was found locally.
airbyte-worker | 2022-11-28 20:18:13 INFO i.a.w.p.DockerProcessFactory(create):119 - Creating docker container = source-faker-check-3-0-gdowk with resources io.airbyte.config.ResourceRequirements@1ba883d2[cpuRequest=,cpuLimit=,memoryRequest=,memoryLimit=]
airbyte-worker | 2022-11-28 20:18:13 INFO i.a.w.p.DockerProcessFactory(create):163 - Preparing command: docker run --rm --init -i -w /data/3/0 --log-driver none --name source-faker-check-3-0-gdowk --network host -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -e DEPLOYMENT_MODE=OSS -e USE_STREAM_CAPABLE_STATE=true -e WORKER_ENVIRONMENT=DOCKER -e AIRBYTE_ROLE= -e WORKER_CONNECTOR_IMAGE=airbyte/source-faker:0.1.6 -e WORKER_JOB_ATTEMPT=0 -e AIRBYTE_VERSION=dev -e WORKER_JOB_ID=3 airbyte/source-faker:0.1.6 check --config source_config.json
airbyte-worker | 2022-11-28 20:18:14 INFO i.a.w.i.DefaultAirbyteStreamFactory(internalLog):103 - Check succeeded
airbyte-worker | 2022-11-28 20:18:14 INFO i.a.w.t.TemporalAttemptExecution(get):134 - Stopping cancellation check scheduling...
airbyte-worker | 2022-11-28 20:18:14 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:14 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- END CHECK -----
airbyte-worker | 2022-11-28 20:18:14 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:14 INFO i.a.w.t.s.ConnectionManagerWorkflowImpl(checkConnections):415 - SOURCE CHECK: Successful
airbyte-worker | 2022-11-28 20:18:14 INFO i.a.w.t.s.ConnectionManagerWorkflowImpl(checkConnections):425 - DESTINATION CHECK: Starting
airbyte-worker | 2022-11-28 20:18:14 INFO i.a.w.t.TemporalAttemptExecution(get):108 - Docker volume job log path: /tmp/workspace/3/0/logs.log
airbyte-worker | 2022-11-28 20:18:14 INFO i.a.w.t.TemporalAttemptExecution(get):113 - Executing worker wrapper. Airbyte version: dev
airbyte-server | 2022-11-28 20:18:14 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/attempt/set_workflow_in_attempt - {"jobId":3,"attemptNumber":0,"workflowId":"connection_manager_90825c11-8204-410a-ad1d-a841a3ea02c8"}
airbyte-worker | 2022-11-28 20:18:14 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:14 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- START CHECK -----
airbyte-worker | 2022-11-28 20:18:14 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:14 INFO i.a.c.i.LineGobbler(voidCall):114 - Checking if airbyte/destination-duckdb:dev exists...
airbyte-worker | 2022-11-28 20:18:14 INFO i.a.c.i.LineGobbler(voidCall):114 - airbyte/destination-duckdb:dev was found locally.
airbyte-worker | 2022-11-28 20:18:14 INFO i.a.w.p.DockerProcessFactory(create):119 - Creating docker container = destination-duckdb-check-3-0-quolg with resources io.airbyte.config.ResourceRequirements@1ba883d2[cpuRequest=,cpuLimit=,memoryRequest=,memoryLimit=]
airbyte-worker | 2022-11-28 20:18:14 INFO i.a.w.p.DockerProcessFactory(create):163 - Preparing command: docker run --rm --init -i -w /data/3/0 --log-driver none --name destination-duckdb-check-3-0-quolg --network host -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -e DEPLOYMENT_MODE=OSS -e USE_STREAM_CAPABLE_STATE=true -e WORKER_ENVIRONMENT=DOCKER -e AIRBYTE_ROLE= -e WORKER_CONNECTOR_IMAGE=airbyte/destination-duckdb:dev -e WORKER_JOB_ATTEMPT=0 -e AIRBYTE_VERSION=dev -e WORKER_JOB_ID=3 airbyte/destination-duckdb:dev check --config source_config.json
airbyte-webapp | 172.18.0.1 - airbyte [28/Nov/2022:20:18:14 +0000] "GET /api/v1/health HTTP/1.1" 200 18 "http://localhost:8000/workspaces/447352f0-70f1-4d70-8dde-d7c566db9a11/connections/90825c11-8204-410a-ad1d-a841a3ea02c8/status" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36" "-"
airbyte-server | 2022-11-28 20:18:14 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.4 GET 200 /api/v1/health
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.w.t.TemporalAttemptExecution(get):134 - Stopping cancellation check scheduling...
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- END CHECK -----
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.w.t.s.ConnectionManagerWorkflowImpl(checkConnections):432 - DESTINATION CHECK: Successful
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.w.t.TemporalAttemptExecution(get):108 - Docker volume job log path: /tmp/workspace/3/0/logs.log
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.w.t.TemporalAttemptExecution(get):113 - Executing worker wrapper. Airbyte version: dev
airbyte-server | 2022-11-28 20:18:15 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/attempt/set_workflow_in_attempt - {"jobId":3,"attemptNumber":0,"workflowId":"sync_3"}
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.c.f.EnvVariableFeatureFlags(getEnvOrDefault):50 - Using default value for environment variable LOG_CONNECTOR_MESSAGES: 'false'
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.c.EnvConfigs(getEnvOrDefault):1085 - Using default value for environment variable METRIC_CLIENT: ''
airbyte-worker | 2022-11-28 20:18:15 WARN i.a.m.l.MetricClientFactory(initialize):60 - Metric client is already initialized to
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.c.f.EnvVariableFeatureFlags(getEnvOrDefault):50 - Using default value for environment variable LOG_CONNECTOR_MESSAGES: 'false'
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.w.g.DefaultReplicationWorker(run):122 - start sync worker. job id: 3 attempt id: 0
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.w.g.DefaultReplicationWorker(run):135 - configured sync modes: {null.Users=full_refresh - overwrite, null.Purchases=full_refresh - overwrite, null.Products=full_refresh - overwrite}
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.w.i.DefaultAirbyteDestination(start):69 - Running destination...
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- START REPLICATION -----
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.c.i.LineGobbler(voidCall):114 - Checking if airbyte/destination-duckdb:dev exists...
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.c.i.LineGobbler(voidCall):114 - airbyte/destination-duckdb:dev was found locally.
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.w.p.DockerProcessFactory(create):119 - Creating docker container = destination-duckdb-write-3-0-wmkdw with resources io.airbyte.config.ResourceRequirements@768f29b5[cpuRequest=,cpuLimit=,memoryRequest=,memoryLimit=]
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.w.p.DockerProcessFactory(create):163 - Preparing command: docker run --rm --init -i -w /data/3/0 --log-driver none --name destination-duckdb-write-3-0-wmkdw --network host -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -e DEPLOYMENT_MODE=OSS -e USE_STREAM_CAPABLE_STATE=true -e WORKER_ENVIRONMENT=DOCKER -e AIRBYTE_ROLE= -e WORKER_CONNECTOR_IMAGE=airbyte/destination-duckdb:dev -e WORKER_JOB_ATTEMPT=0 -e AIRBYTE_VERSION=dev -e WORKER_JOB_ID=3 airbyte/destination-duckdb:dev write --config destination_config.json --catalog destination_catalog.json
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.c.i.LineGobbler(voidCall):114 - Checking if airbyte/source-faker:0.1.6 exists...
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.c.i.LineGobbler(voidCall):114 - airbyte/source-faker:0.1.6 was found locally.
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.w.p.DockerProcessFactory(create):119 - Creating docker container = source-faker-read-3-0-zsqrf with resources io.airbyte.config.ResourceRequirements@235a76e5[cpuRequest=,cpuLimit=,memoryRequest=,memoryLimit=]
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.w.p.DockerProcessFactory(create):163 - Preparing command: docker run --rm --init -i -w /data/3/0 --log-driver none --name source-faker-read-3-0-zsqrf --network host -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -e DEPLOYMENT_MODE=OSS -e USE_STREAM_CAPABLE_STATE=true -e WORKER_ENVIRONMENT=DOCKER -e AIRBYTE_ROLE= -e WORKER_CONNECTOR_IMAGE=airbyte/source-faker:0.1.6 -e WORKER_JOB_ATTEMPT=0 -e AIRBYTE_VERSION=dev -e WORKER_JOB_ID=3 airbyte/source-faker:0.1.6 read --config source_config.json --catalog source_catalog.json --state input_state.json
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.w.g.DefaultReplicationWorker(run):177 - Waiting for source and destination threads to complete.
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.w.g.DefaultReplicationWorker(lambda$getDestinationOutputRunnable$7):435 - Destination output thread started.
airbyte-worker | 2022-11-28 20:18:15 INFO i.a.w.g.DefaultReplicationWorker(lambda$getReplicationRunnable$6):322 - Replication thread started.
airbyte-worker | 2022-11-28 20:18:15 destination > Begin writing to the destination...
airbyte-worker | 2022-11-28 20:18:15 destination > Starting write to DuckDB with 3 streams
airbyte-worker | 2022-11-28 20:18:15 destination > Opening DuckDB file at /local/test_duck.duckdb
airbyte-worker | 2022-11-28 20:18:15 destination > --- {'Products', 'Purchases', 'Users'}
airbyte-worker | 2022-11-28 20:18:15 destination > --- {'Products', 'Purchases', 'Users'}
airbyte-worker | 2022-11-28 20:18:15 destination > --- {'Products', 'Purchases', 'Users'}
airbyte-server | 2022-11-28 20:18:16 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.4 POST 200 /api/v1/jobs/list - {"configId":"90825c11-8204-410a-ad1d-a841a3ea02c8","configTypes":["sync","reset_connection"],"pagination":{"pageSize":25}}
airbyte-webapp | 172.18.0.1 - airbyte [28/Nov/2022:20:18:16 +0000] "POST /api/v1/jobs/list HTTP/1.1" 200 11518 "http://localhost:8000/workspaces/447352f0-70f1-4d70-8dde-d7c566db9a11/connections/90825c11-8204-410a-ad1d-a841a3ea02c8/status" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36" "-"
airbyte-worker | 2022-11-28 20:18:16 source > Sending data for stream: Users
airbyte-worker | 2022-11-28 20:18:16 source > Sending data for stream: Products
airbyte-worker | 2022-11-28 20:18:16 ERROR c.n.s.DateTimeValidator(tryParse):82 - Invalid date-time: No zone offset information found
airbyte-worker | 2022-11-28 20:18:16 ERROR c.n.s.DateTimeValidator(tryParse):82 - Invalid date-time: No zone offset information found
airbyte-worker | 2022-11-28 20:18:16 ERROR c.n.s.DateTimeValidator(tryParse):82 - Invalid date-time: No zone offset information found
airbyte-worker | 2022-11-28 20:18:16 source > Sending data for stream: Purchases
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.w.g.DefaultReplicationWorker(lambda$getReplicationRunnable$6):355 - Source has no more messages, closing connection.
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.w.g.DefaultReplicationWorker(lambda$getReplicationRunnable$6):363 - Total records read: 103 (10 KB)
airbyte-worker | 2022-11-28 20:18:16 WARN i.a.w.g.DefaultReplicationWorker(lambda$getReplicationRunnable$5):366 - Schema validation errors found for stream Products. Error messages: [$.created_at is of an incorrect type. Expected it to be date-time, $.year is of an incorrect type. Expected it to be string]
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.w.g.DefaultReplicationWorker(run):182 - One of source or destination thread complete. Waiting on the other.
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.w.g.DefaultReplicationWorker(lambda$getDestinationOutputRunnable$7):445 - State in DefaultReplicationWorker from destination: io.airbyte.protocol.models.AirbyteMessage@2b3fedc7[type=STATE,log=<null>,spec=<null>,connectionStatus=<null>,catalog=<null>,record=<null>,state=io.airbyte.protocol.models.AirbyteStateMessage@25f816d0[type=<null>,stream=<null>,global=<null>,data={"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}},additionalProperties={}],trace=<null>,additionalProperties={}]
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.w.g.DefaultReplicationWorker(lambda$getDestinationOutputRunnable$7):445 - State in DefaultReplicationWorker from destination: io.airbyte.protocol.models.AirbyteMessage@21c786b7[type=STATE,log=<null>,spec=<null>,connectionStatus=<null>,catalog=<null>,record=<null>,state=io.airbyte.protocol.models.AirbyteStateMessage@64c51ceb[type=<null>,stream=<null>,global=<null>,data={"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}},additionalProperties={}],trace=<null>,additionalProperties={}]
airbyte-worker | 2022-11-28 20:18:16 WARN i.a.w.i.AirbyteMessageTracker(handleDestinationEmittedState):196 - The message tracker encountered an issue that prevents committed record counts from being reliably computed.
airbyte-worker | 2022-11-28 20:18:16 WARN i.a.w.i.AirbyteMessageTracker(handleDestinationEmittedState):197 - This only impacts metadata and does not indicate a problem with actual sync data.
airbyte-worker | 2022-11-28 20:18:16 WARN i.a.w.i.AirbyteMessageTracker(handleDestinationEmittedState):198 - State hash 1340819859 was already committed, likely indicating a state hash collision
airbyte-worker | io.airbyte.workers.internal.StateDeltaTracker$StateDeltaTrackerException: State hash 1340819859 was already committed, likely indicating a state hash collision
airbyte-worker | at io.airbyte.workers.internal.StateDeltaTracker.commitStateHash(StateDeltaTracker.java:114) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.internal.AirbyteMessageTracker.handleDestinationEmittedState(AirbyteMessageTracker.java:193) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.internal.AirbyteMessageTracker.acceptFromDestination(AirbyteMessageTracker.java:119) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.general.DefaultReplicationWorker.lambda$getDestinationOutputRunnable$7(DefaultReplicationWorker.java:446) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
airbyte-worker | at java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | 2022-11-28 20:18:16 destination > 4---mesage: type=<Type.STATE: 'STATE'> log=None spec=None connectionStatus=None catalog=None record=None state=AirbyteStateMessage(type=None, stream=None, global_=None, data={'Users': {'cursor': 100, 'seed': -1}, 'Products': {'product_count': 100}, 'Purchases': {'purchases_count': 119}}) trace=None control=None
airbyte-worker | 2022-11-28 20:18:16 destination > query:
airbyte-worker | INSERT INTO _airbyte_raw_Products
airbyte-worker | VALUES (?,?,?)
airbyte-worker |
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.w.g.DefaultReplicationWorker(lambda$getDestinationOutputRunnable$7):445 - State in DefaultReplicationWorker from destination: io.airbyte.protocol.models.AirbyteMessage@30408461[type=STATE,log=<null>,spec=<null>,connectionStatus=<null>,catalog=<null>,record=<null>,state=io.airbyte.protocol.models.AirbyteStateMessage@556b5a2f[type=<null>,stream=<null>,global=<null>,data={"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}},additionalProperties={}],trace=<null>,additionalProperties={}]
airbyte-worker | 2022-11-28 20:18:16 destination > Writing complete.
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.w.g.DefaultReplicationWorker(run):184 - Source and destination threads complete.
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.w.g.DefaultReplicationWorker(run):279 - Source output at least one state message
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.w.g.DefaultReplicationWorker(run):285 - State capture: Updated state to: Optional[io.airbyte.config.State@67405e[state={"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}}]]
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.w.g.DefaultReplicationWorker(run):300 - sync summary: {
airbyte-worker | "status" : "completed",
airbyte-worker | "recordsSynced" : 100,
airbyte-worker | "bytesSynced" : 10542,
airbyte-worker | "startTime" : 1669666695340,
airbyte-worker | "endTime" : 1669666696372,
airbyte-worker | "totalStats" : {
airbyte-worker | "recordsEmitted" : 100,
airbyte-worker | "bytesEmitted" : 10542,
airbyte-worker | "sourceStateMessagesEmitted" : 3,
airbyte-worker | "destinationStateMessagesEmitted" : 3,
airbyte-worker | "recordsCommitted" : 100,
airbyte-worker | "meanSecondsBeforeSourceStateMessageEmitted" : 0,
airbyte-worker | "maxSecondsBeforeSourceStateMessageEmitted" : 0,
airbyte-worker | "maxSecondsBetweenStateMessageEmittedandCommitted" : 0,
airbyte-worker | "meanSecondsBetweenStateMessageEmittedandCommitted" : 0
airbyte-worker | },
airbyte-worker | "streamStats" : [ {
airbyte-worker | "streamName" : "Products",
airbyte-worker | "stats" : {
airbyte-worker | "recordsEmitted" : 100,
airbyte-worker | "bytesEmitted" : 10542,
airbyte-worker | "recordsCommitted" : 100
airbyte-worker | }
airbyte-worker | } ]
airbyte-worker | }
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.w.g.DefaultReplicationWorker(run):301 - failures: [ ]
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.w.t.TemporalAttemptExecution(get):134 - Stopping cancellation check scheduling...
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.w.t.s.ReplicationActivityImpl(lambda$replicate$3):159 - sync summary: io.airbyte.config.StandardSyncOutput@acf48b7[standardSyncSummary=io.airbyte.config.StandardSyncSummary@4fcdd78a[status=completed,recordsSynced=100,bytesSynced=10542,startTime=1669666695340,endTime=1669666696372,totalStats=io.airbyte.config.SyncStats@765dfcaf[recordsEmitted=100,bytesEmitted=10542,sourceStateMessagesEmitted=3,destinationStateMessagesEmitted=3,recordsCommitted=100,meanSecondsBeforeSourceStateMessageEmitted=0,maxSecondsBeforeSourceStateMessageEmitted=0,maxSecondsBetweenStateMessageEmittedandCommitted=0,meanSecondsBetweenStateMessageEmittedandCommitted=0,additionalProperties={}],streamStats=[io.airbyte.config.StreamSyncStats@7e48ba80[streamName=Products,stats=io.airbyte.config.SyncStats@e32cf0e[recordsEmitted=100,bytesEmitted=10542,sourceStateMessagesEmitted=<null>,destinationStateMessagesEmitted=<null>,recordsCommitted=100,meanSecondsBeforeSourceStateMessageEmitted=<null>,maxSecondsBeforeSourceStateMessageEmitted=<null>,maxSecondsBetweenStateMessageEmittedandCommitted=<null>,meanSecondsBetweenStateMessageEmittedandCommitted=<null>,additionalProperties={}]]]],normalizationSummary=<null>,state=io.airbyte.config.State@67405e[state={"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}}],outputCatalog=io.airbyte.protocol.models.ConfiguredAirbyteCatalog@2fe228c5[streams=[io.airbyte.protocol.models.ConfiguredAirbyteStream@36c31112[stream=io.airbyte.protocol.models.AirbyteStream@d6421f0[name=Users,jsonSchema={"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"id":{"type":"number"},"job":{"type":"string"},"sex":{"type":"string"},"ssn":{"type":"string"},"mail":{"type":"string"},"name":{"type":"string"},"address":{"type":"string"},"company":{"type":"string"},"website":{"type":"array"},"username":{"type":"string"},"residence":{"type":"string"},"created_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"},"updated_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"},"blood_group":{"type":"string"},"current_location":{"type":"array"}}},supportedSyncModes=[full_refresh, incremental],sourceDefinedCursor=<null>,defaultCursorField=[],sourceDefinedPrimaryKey=[],namespace=<null>,additionalProperties={}],syncMode=full_refresh,cursorField=[],destinationSyncMode=overwrite,primaryKey=[],additionalProperties={}], io.airbyte.protocol.models.ConfiguredAirbyteStream@1536c5ed[stream=io.airbyte.protocol.models.AirbyteStream@2bac738e[name=Products,jsonSchema={"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"id":{"type":"number"},"make":{"type":"string"},"year":{"type":"string"},"model":{"type":"string"},"price":{"type":"number"},"created_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"}}},supportedSyncModes=[full_refresh],sourceDefinedCursor=<null>,defaultCursorField=[],sourceDefinedPrimaryKey=[],namespace=<null>,additionalProperties={}],syncMode=full_refresh,cursorField=[],destinationSyncMode=overwrite,primaryKey=[],additionalProperties={}], io.airbyte.protocol.models.ConfiguredAirbyteStream@549ac68[stream=io.airbyte.protocol.models.AirbyteStream@298e6690[name=Purchases,jsonSchema={"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"id":{"type":"number"},"user_id":{"type":"number"},"product_id":{"type":"number"},"returned_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"},"purchased_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"},"added_to_cart_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"}}},supportedSyncModes=[full_refresh, incremental],sourceDefinedCursor=<null>,defaultCursorField=[],sourceDefinedPrimaryKey=[],namespace=<null>,additionalProperties={}],syncMode=full_refresh,cursorField=[],destinationSyncMode=overwrite,primaryKey=[],additionalProperties={}]],additionalProperties={}],failures=[]]
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.c.t.TemporalUtils(withBackgroundHeartbeat):280 - Stopping temporal heartbeating...
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- END REPLICATION -----
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-server | 2022-11-28 20:18:16 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/state/get - {"connectionId":"90825c11-8204-410a-ad1d-a841a3ea02c8"}
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.c.f.EnvVariableFeatureFlags(getEnvOrDefault):50 - Using default value for environment variable NEED_STATE_VALIDATION: 'true'
airbyte-server | 2022-11-28 20:18:16 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/state/create_or_update - {"connectionId":"90825c11-8204-410a-ad1d-a841a3ea02c8","connectionState":{"stateType":"legacy","connectionId":"90825c11-8204-410a-ad1d-a841a3ea02c8","state":{"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}}}}
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.w.t.s.SyncWorkflowImpl(run):82 - generating normalization input
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.w.t.TemporalAttemptExecution(get):108 - Docker volume job log path: /tmp/workspace/3/0/logs.log
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.w.t.TemporalAttemptExecution(get):113 - Executing worker wrapper. Airbyte version: dev
airbyte-server | 2022-11-28 20:18:16 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/attempt/set_workflow_in_attempt - {"jobId":3,"attemptNumber":0,"workflowId":"sync_3"}
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.w.n.DefaultNormalizationRunner(runProcess):139 - Running with normalization version: airbyte/normalization-duckdb:0.2.22
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- START DEFAULT NORMALIZATION -----
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.c.i.LineGobbler(voidCall):114 - Checking if airbyte/normalization-duckdb:0.2.22 exists...
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.c.i.LineGobbler(voidCall):114 - airbyte/normalization-duckdb:0.2.22 not found locally. Attempting to pull the image...
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.c.i.LineGobbler(voidCall):114 - Image does not exist.
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.w.g.DefaultNormalizationWorker(run):82 - Normalization executed in 1 second.
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.w.t.TemporalAttemptExecution(lambda$getWorkerThread$2):164 - Completing future exceptionally...
airbyte-worker | io.airbyte.workers.exception.WorkerException: Normalization Failed.
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:92) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:27) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.lambda$getWorkerThread$2(TemporalAttemptExecution.java:161) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.w.t.TemporalAttemptExecution(get):134 - Stopping cancellation check scheduling...
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.c.t.TemporalUtils(withBackgroundHeartbeat):280 - Stopping temporal heartbeating...
airbyte-worker | 2022-11-28 20:18:18 WARN i.t.i.a.POJOActivityTaskHandler(activityFailureToResult):307 - Activity failure. ActivityId=d6a39b7d-e9f2-34e1-9cd1-66f84363db7e, activityType=Normalize, attempt=1
airbyte-worker | java.lang.RuntimeException: io.temporal.serviceclient.CheckedExceptionWrapper: java.util.concurrent.ExecutionException: io.airbyte.workers.exception.WorkerException: Normalization Failed.
airbyte-worker | at io.airbyte.commons.temporal.TemporalUtils.withBackgroundHeartbeat(TemporalUtils.java:278) ~[io.airbyte-airbyte-commons-temporal-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.normalize(NormalizationActivityImpl.java:93) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
airbyte-worker | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
airbyte-worker | at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
airbyte-worker | at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityInboundCallsInterceptor.execute(POJOActivityTaskHandler.java:214) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityImplementation.execute(POJOActivityTaskHandler.java:180) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler.handle(POJOActivityTaskHandler.java:120) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:204) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:164) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:93) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
airbyte-worker | at java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | Caused by: io.temporal.serviceclient.CheckedExceptionWrapper: java.util.concurrent.ExecutionException: io.airbyte.workers.exception.WorkerException: Normalization Failed.
airbyte-worker | at io.temporal.serviceclient.CheckedExceptionWrapper.wrap(CheckedExceptionWrapper.java:56) ~[temporal-serviceclient-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.WorkflowInternal.wrap(WorkflowInternal.java:448) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.activity.Activity.wrap(Activity.java:51) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.get(TemporalAttemptExecution.java:138) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.lambda$normalize$3(NormalizationActivityImpl.java:121) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.commons.temporal.TemporalUtils.withBackgroundHeartbeat(TemporalUtils.java:273) ~[io.airbyte-airbyte-commons-temporal-0.40.10.jar:?]
airbyte-worker | ... 14 more
airbyte-worker | Caused by: java.util.concurrent.ExecutionException: io.airbyte.workers.exception.WorkerException: Normalization Failed.
airbyte-worker | at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?]
airbyte-worker | at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) ~[?:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.get(TemporalAttemptExecution.java:132) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.lambda$normalize$3(NormalizationActivityImpl.java:121) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.commons.temporal.TemporalUtils.withBackgroundHeartbeat(TemporalUtils.java:273) ~[io.airbyte-airbyte-commons-temporal-0.40.10.jar:?]
airbyte-worker | ... 14 more
airbyte-worker | Caused by: io.airbyte.workers.exception.WorkerException: Normalization Failed.
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:92) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:27) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.lambda$getWorkerThread$2(TemporalAttemptExecution.java:161) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | ... 1 more
airbyte-worker | 2022-11-28 20:18:18 ERROR i.t.i.s.WorkflowExecuteRunnable(logWorkflowExecutionException):125 - Workflow execution failure WorkflowId=sync_3, RunId=dc88198e-4209-41a5-9dce-d38747172504, WorkflowType=SyncWorkflow
airbyte-worker | io.temporal.failure.ActivityFailure: scheduledEventId=31, startedEventId=32, activityType='Normalize', activityId='d6a39b7d-e9f2-34e1-9cd1-66f84363db7e', identity='1@d74c69727d08', retryState=RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED
airbyte-worker | at java.lang.Thread.getStackTrace(Thread.java:1610) ~[?:?]
airbyte-worker | at io.temporal.internal.sync.ActivityStubBase.execute(ActivityStubBase.java:48) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.ActivityInvocationHandler.lambda$getActivityFunc$0(ActivityInvocationHandler.java:77) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.ActivityInvocationHandlerBase.invoke(ActivityInvocationHandlerBase.java:70) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at jdk.proxy2.$Proxy103.normalize(Unknown Source) ~[?:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.SyncWorkflowImpl.run(SyncWorkflowImpl.java:85) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at SyncWorkflowImplProxy.run$accessor$dJlyJFnl(Unknown Source) ~[?:?]
airbyte-worker | at SyncWorkflowImplProxy$auxiliary$kv776tte.call(Unknown Source) ~[?:?]
airbyte-worker | at io.airbyte.workers.temporal.support.TemporalActivityStubInterceptor.execute(TemporalActivityStubInterceptor.java:79) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at SyncWorkflowImplProxy.run(Unknown Source) ~[?:?]
airbyte-worker | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
airbyte-worker | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
airbyte-worker | at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
airbyte-worker | at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
airbyte-worker | at io.temporal.internal.sync.POJOWorkflowImplementationFactory$POJOWorkflowImplementation$RootWorkflowInboundCallsInterceptor.execute(POJOWorkflowImplementationFactory.java:317) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.POJOWorkflowImplementationFactory$POJOWorkflowImplementation.execute(POJOWorkflowImplementationFactory.java:292) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.WorkflowExecuteRunnable.run(WorkflowExecuteRunnable.java:72) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.SyncWorkflow.lambda$start$0(SyncWorkflow.java:137) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.CancellationScopeImpl.run(CancellationScopeImpl.java:101) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.WorkflowThreadImpl$RunnableWrapper.run(WorkflowThreadImpl.java:111) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
airbyte-worker | at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
airbyte-worker | at java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | Caused by: io.temporal.failure.ApplicationFailure: message='io.temporal.serviceclient.CheckedExceptionWrapper: java.util.concurrent.ExecutionException: io.airbyte.workers.exception.WorkerException: Normalization Failed.', type='java.lang.RuntimeException', nonRetryable=false
airbyte-worker | at io.airbyte.commons.temporal.TemporalUtils.withBackgroundHeartbeat(TemporalUtils.java:278) ~[io.airbyte-airbyte-commons-temporal-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.normalize(NormalizationActivityImpl.java:93) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method:0) ~[?:?]
airbyte-worker | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
airbyte-worker | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
airbyte-worker | at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityInboundCallsInterceptor.execute(POJOActivityTaskHandler.java:214) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityImplementation.execute(POJOActivityTaskHandler.java:180) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler.handle(POJOActivityTaskHandler.java:120) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:204) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:164) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:93) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
airbyte-worker | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
airbyte-worker | at java.base/java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | Caused by: io.temporal.failure.ApplicationFailure: message='io.airbyte.workers.exception.WorkerException: Normalization Failed.', type='java.util.concurrent.ExecutionException', nonRetryable=false
airbyte-worker | at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?]
airbyte-worker | at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) ~[?:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.get(TemporalAttemptExecution.java:132) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.lambda$normalize$3(NormalizationActivityImpl.java:121) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.commons.temporal.TemporalUtils.withBackgroundHeartbeat(TemporalUtils.java:273) ~[io.airbyte-airbyte-commons-temporal-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.normalize(NormalizationActivityImpl.java:93) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method:0) ~[?:?]
airbyte-worker | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
airbyte-worker | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
airbyte-worker | at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityInboundCallsInterceptor.execute(POJOActivityTaskHandler.java:214) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityImplementation.execute(POJOActivityTaskHandler.java:180) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler.handle(POJOActivityTaskHandler.java:120) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:204) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:164) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:93) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
airbyte-worker | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
airbyte-worker | at java.base/java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | Caused by: io.temporal.failure.ApplicationFailure: message='Normalization Failed.', type='io.airbyte.workers.exception.WorkerException', nonRetryable=false
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:92) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:27) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.lambda$getWorkerThread$2(TemporalAttemptExecution.java:161) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.base/java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.w.t.s.ConnectionManagerWorkflowImpl(ensureCleanJobState):630 - This workflow is already attached to a job, so no need to clean job state.
airbyte-server | 2022-11-28 20:18:18 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.4 POST 200 /api/v1/jobs/list - {"configId":"90825c11-8204-410a-ad1d-a841a3ea02c8","configTypes":["sync","reset_connection"],"pagination":{"pageSize":25}}
airbyte-webapp | 172.18.0.1 - airbyte [28/Nov/2022:20:18:18 +0000] "POST /api/v1/jobs/list HTTP/1.1" 200 14973 "http://localhost:8000/workspaces/447352f0-70f1-4d70-8dde-d7c566db9a11/connections/90825c11-8204-410a-ad1d-a841a3ea02c8/status" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36" "-"
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.a.LoggingTrackingClient(track):43 - track. version: null, userId: null, action: Connector Jobs, metadata: {job_type=sync, namespace_definition=source, frequency=1440 min, connector_source_definition_id=dfd88b22-b603-4c3d-aad7-3701784586b1, workspace_id=447352f0-70f1-4d70-8dde-d7c566db9a11, attempt_stage=STARTED, attempt_id=2, connector_destination=DuckDB, connector_destination_docker_repository=airbyte/destination-duckdb, table_prefix=false, workspace_name=447352f0-70f1-4d70-8dde-d7c566db9a11, catalog.destination_sync_mode.overwrite=set, number_of_streams=3, connector_source=Faker, connector_source_docker_repository=airbyte/source-faker, catalog.sync_mode.full_refresh=set, connection_id=90825c11-8204-410a-ad1d-a841a3ea02c8, job_id=3, connector_source_version=0.1.6, config.destination.destination_path=set, connector_destination_version=dev, config.source.records_per_sync=set, operation.normalization=1, config.source.records_per_slice=set, operation_count=1, connector_destination_definition_id=3417e215-ae62-4632-8179-0c8ac8fda975, config.source.count=set, config.source.seed=set}
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.w.t.s.ConnectionManagerWorkflowImpl(checkConnections):408 - SOURCE CHECK: Starting
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.w.t.TemporalAttemptExecution(get):108 - Docker volume job log path: /tmp/workspace/3/1/logs.log
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.w.t.TemporalAttemptExecution(get):113 - Executing worker wrapper. Airbyte version: dev
airbyte-server | 2022-11-28 20:18:18 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/attempt/set_workflow_in_attempt - {"jobId":3,"attemptNumber":1,"workflowId":"connection_manager_90825c11-8204-410a-ad1d-a841a3ea02c8"}
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- START CHECK -----
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.c.i.LineGobbler(voidCall):114 - Checking if airbyte/source-faker:0.1.6 exists...
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.c.i.LineGobbler(voidCall):114 - airbyte/source-faker:0.1.6 was found locally.
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.w.p.DockerProcessFactory(create):119 - Creating docker container = source-faker-check-3-1-yowjt with resources io.airbyte.config.ResourceRequirements@1ba883d2[cpuRequest=,cpuLimit=,memoryRequest=,memoryLimit=]
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.w.p.DockerProcessFactory(create):163 - Preparing command: docker run --rm --init -i -w /data/3/1 --log-driver none --name source-faker-check-3-1-yowjt --network host -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -e DEPLOYMENT_MODE=OSS -e USE_STREAM_CAPABLE_STATE=true -e WORKER_ENVIRONMENT=DOCKER -e AIRBYTE_ROLE= -e WORKER_CONNECTOR_IMAGE=airbyte/source-faker:0.1.6 -e WORKER_JOB_ATTEMPT=1 -e AIRBYTE_VERSION=dev -e WORKER_JOB_ID=3 airbyte/source-faker:0.1.6 check --config source_config.json
airbyte-worker | 2022-11-28 20:18:19 INFO i.a.w.i.DefaultAirbyteStreamFactory(internalLog):103 - Check succeeded
airbyte-worker | 2022-11-28 20:18:19 INFO i.a.w.t.TemporalAttemptExecution(get):134 - Stopping cancellation check scheduling...
airbyte-worker | 2022-11-28 20:18:19 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:19 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- END CHECK -----
airbyte-worker | 2022-11-28 20:18:19 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:19 INFO i.a.w.t.s.ConnectionManagerWorkflowImpl(checkConnections):415 - SOURCE CHECK: Successful
airbyte-worker | 2022-11-28 20:18:19 INFO i.a.w.t.s.ConnectionManagerWorkflowImpl(checkConnections):425 - DESTINATION CHECK: Starting
airbyte-worker | 2022-11-28 20:18:19 INFO i.a.w.t.TemporalAttemptExecution(get):108 - Docker volume job log path: /tmp/workspace/3/1/logs.log
airbyte-worker | 2022-11-28 20:18:19 INFO i.a.w.t.TemporalAttemptExecution(get):113 - Executing worker wrapper. Airbyte version: dev
airbyte-server | 2022-11-28 20:18:19 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/attempt/set_workflow_in_attempt - {"jobId":3,"attemptNumber":1,"workflowId":"connection_manager_90825c11-8204-410a-ad1d-a841a3ea02c8"}
airbyte-worker | 2022-11-28 20:18:19 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:19 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- START CHECK -----
airbyte-worker | 2022-11-28 20:18:19 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:19 INFO i.a.c.i.LineGobbler(voidCall):114 - Checking if airbyte/destination-duckdb:dev exists...
airbyte-worker | 2022-11-28 20:18:19 INFO i.a.c.i.LineGobbler(voidCall):114 - airbyte/destination-duckdb:dev was found locally.
airbyte-worker | 2022-11-28 20:18:19 INFO i.a.w.p.DockerProcessFactory(create):119 - Creating docker container = destination-duckdb-check-3-1-wbkzb with resources io.airbyte.config.ResourceRequirements@1ba883d2[cpuRequest=,cpuLimit=,memoryRequest=,memoryLimit=]
airbyte-worker | 2022-11-28 20:18:19 INFO i.a.w.p.DockerProcessFactory(create):163 - Preparing command: docker run --rm --init -i -w /data/3/1 --log-driver none --name destination-duckdb-check-3-1-wbkzb --network host -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -e DEPLOYMENT_MODE=OSS -e USE_STREAM_CAPABLE_STATE=true -e WORKER_ENVIRONMENT=DOCKER -e AIRBYTE_ROLE= -e WORKER_CONNECTOR_IMAGE=airbyte/destination-duckdb:dev -e WORKER_JOB_ATTEMPT=1 -e AIRBYTE_VERSION=dev -e WORKER_JOB_ID=3 airbyte/destination-duckdb:dev check --config source_config.json
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.w.t.TemporalAttemptExecution(get):134 - Stopping cancellation check scheduling...
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- END CHECK -----
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.w.t.s.ConnectionManagerWorkflowImpl(checkConnections):432 - DESTINATION CHECK: Successful
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.w.t.TemporalAttemptExecution(get):108 - Docker volume job log path: /tmp/workspace/3/1/logs.log
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.w.t.TemporalAttemptExecution(get):113 - Executing worker wrapper. Airbyte version: dev
airbyte-server | 2022-11-28 20:18:20 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/attempt/set_workflow_in_attempt - {"jobId":3,"attemptNumber":1,"workflowId":"sync_3"}
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.c.f.EnvVariableFeatureFlags(getEnvOrDefault):50 - Using default value for environment variable LOG_CONNECTOR_MESSAGES: 'false'
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.c.EnvConfigs(getEnvOrDefault):1085 - Using default value for environment variable METRIC_CLIENT: ''
airbyte-worker | 2022-11-28 20:18:20 WARN i.a.m.l.MetricClientFactory(initialize):60 - Metric client is already initialized to
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.c.f.EnvVariableFeatureFlags(getEnvOrDefault):50 - Using default value for environment variable LOG_CONNECTOR_MESSAGES: 'false'
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.w.g.DefaultReplicationWorker(run):122 - start sync worker. job id: 3 attempt id: 1
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- START REPLICATION -----
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.w.g.DefaultReplicationWorker(run):135 - configured sync modes: {null.Users=full_refresh - overwrite, null.Purchases=full_refresh - overwrite, null.Products=full_refresh - overwrite}
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.w.i.DefaultAirbyteDestination(start):69 - Running destination...
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.c.i.LineGobbler(voidCall):114 - Checking if airbyte/destination-duckdb:dev exists...
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.c.i.LineGobbler(voidCall):114 - airbyte/destination-duckdb:dev was found locally.
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.w.p.DockerProcessFactory(create):119 - Creating docker container = destination-duckdb-write-3-1-myfzj with resources io.airbyte.config.ResourceRequirements@2644d435[cpuRequest=,cpuLimit=,memoryRequest=,memoryLimit=]
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.w.p.DockerProcessFactory(create):163 - Preparing command: docker run --rm --init -i -w /data/3/1 --log-driver none --name destination-duckdb-write-3-1-myfzj --network host -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -e DEPLOYMENT_MODE=OSS -e USE_STREAM_CAPABLE_STATE=true -e WORKER_ENVIRONMENT=DOCKER -e AIRBYTE_ROLE= -e WORKER_CONNECTOR_IMAGE=airbyte/destination-duckdb:dev -e WORKER_JOB_ATTEMPT=1 -e AIRBYTE_VERSION=dev -e WORKER_JOB_ID=3 airbyte/destination-duckdb:dev write --config destination_config.json --catalog destination_catalog.json
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.c.i.LineGobbler(voidCall):114 - Checking if airbyte/source-faker:0.1.6 exists...
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.c.i.LineGobbler(voidCall):114 - airbyte/source-faker:0.1.6 was found locally.
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.w.p.DockerProcessFactory(create):119 - Creating docker container = source-faker-read-3-1-seppl with resources io.airbyte.config.ResourceRequirements@34edbe22[cpuRequest=,cpuLimit=,memoryRequest=,memoryLimit=]
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.w.p.DockerProcessFactory(create):163 - Preparing command: docker run --rm --init -i -w /data/3/1 --log-driver none --name source-faker-read-3-1-seppl --network host -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -e DEPLOYMENT_MODE=OSS -e USE_STREAM_CAPABLE_STATE=true -e WORKER_ENVIRONMENT=DOCKER -e AIRBYTE_ROLE= -e WORKER_CONNECTOR_IMAGE=airbyte/source-faker:0.1.6 -e WORKER_JOB_ATTEMPT=1 -e AIRBYTE_VERSION=dev -e WORKER_JOB_ID=3 airbyte/source-faker:0.1.6 read --config source_config.json --catalog source_catalog.json --state input_state.json
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.w.g.DefaultReplicationWorker(run):177 - Waiting for source and destination threads to complete.
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.w.g.DefaultReplicationWorker(lambda$getReplicationRunnable$6):322 - Replication thread started.
airbyte-worker | 2022-11-28 20:18:20 INFO i.a.w.g.DefaultReplicationWorker(lambda$getDestinationOutputRunnable$7):435 - Destination output thread started.
airbyte-worker | 2022-11-28 20:18:20 destination > Begin writing to the destination...
airbyte-worker | 2022-11-28 20:18:20 destination > Starting write to DuckDB with 3 streams
airbyte-worker | 2022-11-28 20:18:20 destination > Opening DuckDB file at /local/test_duck.duckdb
airbyte-worker | 2022-11-28 20:18:20 destination > --- {'Users', 'Purchases', 'Products'}
airbyte-worker | 2022-11-28 20:18:20 destination > --- {'Users', 'Purchases', 'Products'}
airbyte-worker | 2022-11-28 20:18:20 destination > --- {'Users', 'Purchases', 'Products'}
airbyte-worker | 2022-11-28 20:18:21 source > Sending data for stream: Users
airbyte-worker | 2022-11-28 20:18:21 source > Sending data for stream: Products
airbyte-worker | 2022-11-28 20:18:21 ERROR c.n.s.DateTimeValidator(tryParse):82 - Invalid date-time: No zone offset information found
airbyte-worker | 2022-11-28 20:18:21 ERROR c.n.s.DateTimeValidator(tryParse):82 - Invalid date-time: No zone offset information found
airbyte-worker | 2022-11-28 20:18:21 ERROR c.n.s.DateTimeValidator(tryParse):82 - Invalid date-time: No zone offset information found
airbyte-worker | 2022-11-28 20:18:21 source > Sending data for stream: Purchases
airbyte-server | 2022-11-28 20:18:21 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.4 POST 200 /api/v1/jobs/list - {"configId":"90825c11-8204-410a-ad1d-a841a3ea02c8","configTypes":["sync","reset_connection"],"pagination":{"pageSize":25}}
airbyte-webapp | 172.18.0.1 - airbyte [28/Nov/2022:20:18:21 +0000] "POST /api/v1/jobs/list HTTP/1.1" 200 14973 "http://localhost:8000/workspaces/447352f0-70f1-4d70-8dde-d7c566db9a11/connections/90825c11-8204-410a-ad1d-a841a3ea02c8/status" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36" "-"
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.w.g.DefaultReplicationWorker(lambda$getReplicationRunnable$6):355 - Source has no more messages, closing connection.
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.w.g.DefaultReplicationWorker(lambda$getReplicationRunnable$6):363 - Total records read: 103 (10 KB)
airbyte-worker | 2022-11-28 20:18:21 WARN i.a.w.g.DefaultReplicationWorker(lambda$getReplicationRunnable$5):366 - Schema validation errors found for stream Products. Error messages: [$.created_at is of an incorrect type. Expected it to be date-time, $.year is of an incorrect type. Expected it to be string]
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.w.g.DefaultReplicationWorker(run):182 - One of source or destination thread complete. Waiting on the other.
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.w.g.DefaultReplicationWorker(lambda$getDestinationOutputRunnable$7):445 - State in DefaultReplicationWorker from destination: io.airbyte.protocol.models.AirbyteMessage@2fe9940b[type=STATE,log=<null>,spec=<null>,connectionStatus=<null>,catalog=<null>,record=<null>,state=io.airbyte.protocol.models.AirbyteStateMessage@212e6f86[type=<null>,stream=<null>,global=<null>,data={"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}},additionalProperties={}],trace=<null>,additionalProperties={}]
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.w.g.DefaultReplicationWorker(lambda$getDestinationOutputRunnable$7):445 - State in DefaultReplicationWorker from destination: io.airbyte.protocol.models.AirbyteMessage@2511ff7b[type=STATE,log=<null>,spec=<null>,connectionStatus=<null>,catalog=<null>,record=<null>,state=io.airbyte.protocol.models.AirbyteStateMessage@601365bd[type=<null>,stream=<null>,global=<null>,data={"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}},additionalProperties={}],trace=<null>,additionalProperties={}]
airbyte-worker | 2022-11-28 20:18:21 WARN i.a.w.i.AirbyteMessageTracker(handleDestinationEmittedState):196 - The message tracker encountered an issue that prevents committed record counts from being reliably computed.
airbyte-worker | 2022-11-28 20:18:21 WARN i.a.w.i.AirbyteMessageTracker(handleDestinationEmittedState):197 - This only impacts metadata and does not indicate a problem with actual sync data.
airbyte-worker | 2022-11-28 20:18:21 WARN i.a.w.i.AirbyteMessageTracker(handleDestinationEmittedState):198 - State hash 1340819859 was already committed, likely indicating a state hash collision
airbyte-worker | io.airbyte.workers.internal.StateDeltaTracker$StateDeltaTrackerException: State hash 1340819859 was already committed, likely indicating a state hash collision
airbyte-worker | at io.airbyte.workers.internal.StateDeltaTracker.commitStateHash(StateDeltaTracker.java:114) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.internal.AirbyteMessageTracker.handleDestinationEmittedState(AirbyteMessageTracker.java:193) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.internal.AirbyteMessageTracker.acceptFromDestination(AirbyteMessageTracker.java:119) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.general.DefaultReplicationWorker.lambda$getDestinationOutputRunnable$7(DefaultReplicationWorker.java:446) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
airbyte-worker | at java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | 2022-11-28 20:18:21 destination > 4---mesage: type=<Type.STATE: 'STATE'> log=None spec=None connectionStatus=None catalog=None record=None state=AirbyteStateMessage(type=None, stream=None, global_=None, data={'Users': {'cursor': 100, 'seed': -1}, 'Products': {'product_count': 100}, 'Purchases': {'purchases_count': 119}}) trace=None control=None
airbyte-worker | 2022-11-28 20:18:21 destination > query:
airbyte-worker | INSERT INTO _airbyte_raw_Products
airbyte-worker | VALUES (?,?,?)
airbyte-worker |
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.w.g.DefaultReplicationWorker(lambda$getDestinationOutputRunnable$7):445 - State in DefaultReplicationWorker from destination: io.airbyte.protocol.models.AirbyteMessage@339fc78[type=STATE,log=<null>,spec=<null>,connectionStatus=<null>,catalog=<null>,record=<null>,state=io.airbyte.protocol.models.AirbyteStateMessage@51b9e1c6[type=<null>,stream=<null>,global=<null>,data={"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}},additionalProperties={}],trace=<null>,additionalProperties={}]
airbyte-worker | 2022-11-28 20:18:21 destination > Writing complete.
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.w.g.DefaultReplicationWorker(run):184 - Source and destination threads complete.
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.w.g.DefaultReplicationWorker(run):279 - Source output at least one state message
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.w.g.DefaultReplicationWorker(run):285 - State capture: Updated state to: Optional[io.airbyte.config.State@6903dddf[state={"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}}]]
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.w.g.DefaultReplicationWorker(run):300 - sync summary: {
airbyte-worker | "status" : "completed",
airbyte-worker | "recordsSynced" : 100,
airbyte-worker | "bytesSynced" : 10542,
airbyte-worker | "startTime" : 1669666700166,
airbyte-worker | "endTime" : 1669666701249,
airbyte-worker | "totalStats" : {
airbyte-worker | "recordsEmitted" : 100,
airbyte-worker | "bytesEmitted" : 10542,
airbyte-worker | "sourceStateMessagesEmitted" : 3,
airbyte-worker | "destinationStateMessagesEmitted" : 3,
airbyte-worker | "recordsCommitted" : 100,
airbyte-worker | "meanSecondsBeforeSourceStateMessageEmitted" : 0,
airbyte-worker | "maxSecondsBeforeSourceStateMessageEmitted" : 0,
airbyte-worker | "maxSecondsBetweenStateMessageEmittedandCommitted" : 0,
airbyte-worker | "meanSecondsBetweenStateMessageEmittedandCommitted" : 0
airbyte-worker | },
airbyte-worker | "streamStats" : [ {
airbyte-worker | "streamName" : "Products",
airbyte-worker | "stats" : {
airbyte-worker | "recordsEmitted" : 100,
airbyte-worker | "bytesEmitted" : 10542,
airbyte-worker | "recordsCommitted" : 100
airbyte-worker | }
airbyte-worker | } ]
airbyte-worker | }
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.w.g.DefaultReplicationWorker(run):301 - failures: [ ]
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.w.t.TemporalAttemptExecution(get):134 - Stopping cancellation check scheduling...
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- END REPLICATION -----
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.w.t.s.ReplicationActivityImpl(lambda$replicate$3):159 - sync summary: io.airbyte.config.StandardSyncOutput@206f00a0[standardSyncSummary=io.airbyte.config.StandardSyncSummary@656d8ac9[status=completed,recordsSynced=100,bytesSynced=10542,startTime=1669666700166,endTime=1669666701249,totalStats=io.airbyte.config.SyncStats@74b5a45f[recordsEmitted=100,bytesEmitted=10542,sourceStateMessagesEmitted=3,destinationStateMessagesEmitted=3,recordsCommitted=100,meanSecondsBeforeSourceStateMessageEmitted=0,maxSecondsBeforeSourceStateMessageEmitted=0,maxSecondsBetweenStateMessageEmittedandCommitted=0,meanSecondsBetweenStateMessageEmittedandCommitted=0,additionalProperties={}],streamStats=[io.airbyte.config.StreamSyncStats@5442ed2b[streamName=Products,stats=io.airbyte.config.SyncStats@c709d03[recordsEmitted=100,bytesEmitted=10542,sourceStateMessagesEmitted=<null>,destinationStateMessagesEmitted=<null>,recordsCommitted=100,meanSecondsBeforeSourceStateMessageEmitted=<null>,maxSecondsBeforeSourceStateMessageEmitted=<null>,maxSecondsBetweenStateMessageEmittedandCommitted=<null>,meanSecondsBetweenStateMessageEmittedandCommitted=<null>,additionalProperties={}]]]],normalizationSummary=<null>,state=io.airbyte.config.State@6903dddf[state={"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}}],outputCatalog=io.airbyte.protocol.models.ConfiguredAirbyteCatalog@5427586[streams=[io.airbyte.protocol.models.ConfiguredAirbyteStream@5c0cae2d[stream=io.airbyte.protocol.models.AirbyteStream@1fe43b32[name=Users,jsonSchema={"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"id":{"type":"number"},"job":{"type":"string"},"sex":{"type":"string"},"ssn":{"type":"string"},"mail":{"type":"string"},"name":{"type":"string"},"address":{"type":"string"},"company":{"type":"string"},"website":{"type":"array"},"username":{"type":"string"},"residence":{"type":"string"},"created_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"},"updated_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"},"blood_group":{"type":"string"},"current_location":{"type":"array"}}},supportedSyncModes=[full_refresh, incremental],sourceDefinedCursor=<null>,defaultCursorField=[],sourceDefinedPrimaryKey=[],namespace=<null>,additionalProperties={}],syncMode=full_refresh,cursorField=[],destinationSyncMode=overwrite,primaryKey=[],additionalProperties={}], io.airbyte.protocol.models.ConfiguredAirbyteStream@17743548[stream=io.airbyte.protocol.models.AirbyteStream@10c8c65[name=Products,jsonSchema={"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"id":{"type":"number"},"make":{"type":"string"},"year":{"type":"string"},"model":{"type":"string"},"price":{"type":"number"},"created_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"}}},supportedSyncModes=[full_refresh],sourceDefinedCursor=<null>,defaultCursorField=[],sourceDefinedPrimaryKey=[],namespace=<null>,additionalProperties={}],syncMode=full_refresh,cursorField=[],destinationSyncMode=overwrite,primaryKey=[],additionalProperties={}], io.airbyte.protocol.models.ConfiguredAirbyteStream@384837af[stream=io.airbyte.protocol.models.AirbyteStream@6cba63f[name=Purchases,jsonSchema={"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"id":{"type":"number"},"user_id":{"type":"number"},"product_id":{"type":"number"},"returned_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"},"purchased_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"},"added_to_cart_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"}}},supportedSyncModes=[full_refresh, incremental],sourceDefinedCursor=<null>,defaultCursorField=[],sourceDefinedPrimaryKey=[],namespace=<null>,additionalProperties={}],syncMode=full_refresh,cursorField=[],destinationSyncMode=overwrite,primaryKey=[],additionalProperties={}]],additionalProperties={}],failures=[]]
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.c.t.TemporalUtils(withBackgroundHeartbeat):280 - Stopping temporal heartbeating...
airbyte-server | 2022-11-28 20:18:21 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/state/get - {"connectionId":"90825c11-8204-410a-ad1d-a841a3ea02c8"}
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.c.f.EnvVariableFeatureFlags(getEnvOrDefault):50 - Using default value for environment variable NEED_STATE_VALIDATION: 'true'
airbyte-server | 2022-11-28 20:18:21 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/state/create_or_update - {"connectionId":"90825c11-8204-410a-ad1d-a841a3ea02c8","connectionState":{"stateType":"legacy","connectionId":"90825c11-8204-410a-ad1d-a841a3ea02c8","state":{"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}}}}
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.w.t.s.SyncWorkflowImpl(run):82 - generating normalization input
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.w.t.TemporalAttemptExecution(get):108 - Docker volume job log path: /tmp/workspace/3/1/logs.log
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.w.t.TemporalAttemptExecution(get):113 - Executing worker wrapper. Airbyte version: dev
airbyte-server | 2022-11-28 20:18:21 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/attempt/set_workflow_in_attempt - {"jobId":3,"attemptNumber":1,"workflowId":"sync_3"}
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.w.n.DefaultNormalizationRunner(runProcess):139 - Running with normalization version: airbyte/normalization-duckdb:0.2.22
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- START DEFAULT NORMALIZATION -----
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.c.i.LineGobbler(voidCall):114 - Checking if airbyte/normalization-duckdb:0.2.22 exists...
airbyte-worker | 2022-11-28 20:18:21 INFO i.a.c.i.LineGobbler(voidCall):114 - airbyte/normalization-duckdb:0.2.22 not found locally. Attempting to pull the image...
airbyte-worker | 2022-11-28 20:18:22 INFO i.a.c.i.LineGobbler(voidCall):114 - Image does not exist.
airbyte-worker | 2022-11-28 20:18:22 INFO i.a.w.g.DefaultNormalizationWorker(run):82 - Normalization executed in 1 second.
airbyte-worker | 2022-11-28 20:18:22 INFO i.a.w.t.TemporalAttemptExecution(lambda$getWorkerThread$2):164 - Completing future exceptionally...
airbyte-worker | io.airbyte.workers.exception.WorkerException: Normalization Failed.
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:92) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:27) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.lambda$getWorkerThread$2(TemporalAttemptExecution.java:161) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | 2022-11-28 20:18:22 INFO i.a.w.t.TemporalAttemptExecution(get):134 - Stopping cancellation check scheduling...
airbyte-worker | 2022-11-28 20:18:22 INFO i.a.c.t.TemporalUtils(withBackgroundHeartbeat):280 - Stopping temporal heartbeating...
airbyte-worker | 2022-11-28 20:18:22 WARN i.t.i.a.POJOActivityTaskHandler(activityFailureToResult):307 - Activity failure. ActivityId=3202a752-fe5f-37c4-b8be-eb1b512075ab, activityType=Normalize, attempt=1
airbyte-worker | java.lang.RuntimeException: io.temporal.serviceclient.CheckedExceptionWrapper: java.util.concurrent.ExecutionException: io.airbyte.workers.exception.WorkerException: Normalization Failed.
airbyte-worker | at io.airbyte.commons.temporal.TemporalUtils.withBackgroundHeartbeat(TemporalUtils.java:278) ~[io.airbyte-airbyte-commons-temporal-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.normalize(NormalizationActivityImpl.java:93) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
airbyte-worker | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
airbyte-worker | at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
airbyte-worker | at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityInboundCallsInterceptor.execute(POJOActivityTaskHandler.java:214) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityImplementation.execute(POJOActivityTaskHandler.java:180) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler.handle(POJOActivityTaskHandler.java:120) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:204) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:164) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:93) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
airbyte-worker | at java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | Caused by: io.temporal.serviceclient.CheckedExceptionWrapper: java.util.concurrent.ExecutionException: io.airbyte.workers.exception.WorkerException: Normalization Failed.
airbyte-worker | at io.temporal.serviceclient.CheckedExceptionWrapper.wrap(CheckedExceptionWrapper.java:56) ~[temporal-serviceclient-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.WorkflowInternal.wrap(WorkflowInternal.java:448) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.activity.Activity.wrap(Activity.java:51) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.get(TemporalAttemptExecution.java:138) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.lambda$normalize$3(NormalizationActivityImpl.java:121) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.commons.temporal.TemporalUtils.withBackgroundHeartbeat(TemporalUtils.java:273) ~[io.airbyte-airbyte-commons-temporal-0.40.10.jar:?]
airbyte-worker | ... 14 more
airbyte-worker | Caused by: java.util.concurrent.ExecutionException: io.airbyte.workers.exception.WorkerException: Normalization Failed.
airbyte-worker | at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?]
airbyte-worker | at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) ~[?:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.get(TemporalAttemptExecution.java:132) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.lambda$normalize$3(NormalizationActivityImpl.java:121) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.commons.temporal.TemporalUtils.withBackgroundHeartbeat(TemporalUtils.java:273) ~[io.airbyte-airbyte-commons-temporal-0.40.10.jar:?]
airbyte-worker | ... 14 more
airbyte-worker | Caused by: io.airbyte.workers.exception.WorkerException: Normalization Failed.
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:92) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:27) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.lambda$getWorkerThread$2(TemporalAttemptExecution.java:161) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | ... 1 more
airbyte-worker | 2022-11-28 20:18:22 ERROR i.t.i.s.WorkflowExecuteRunnable(logWorkflowExecutionException):125 - Workflow execution failure WorkflowId=sync_3, RunId=ffff0cf9-bc24-4665-b371-c3e9a1ae428e, WorkflowType=SyncWorkflow
airbyte-worker | io.temporal.failure.ActivityFailure: scheduledEventId=31, startedEventId=32, activityType='Normalize', activityId='3202a752-fe5f-37c4-b8be-eb1b512075ab', identity='1@d74c69727d08', retryState=RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED
airbyte-worker | at java.lang.Thread.getStackTrace(Thread.java:1610) ~[?:?]
airbyte-worker | at io.temporal.internal.sync.ActivityStubBase.execute(ActivityStubBase.java:48) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.ActivityInvocationHandler.lambda$getActivityFunc$0(ActivityInvocationHandler.java:77) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.ActivityInvocationHandlerBase.invoke(ActivityInvocationHandlerBase.java:70) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at jdk.proxy2.$Proxy103.normalize(Unknown Source) ~[?:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.SyncWorkflowImpl.run(SyncWorkflowImpl.java:85) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at SyncWorkflowImplProxy.run$accessor$dJlyJFnl(Unknown Source) ~[?:?]
airbyte-worker | at SyncWorkflowImplProxy$auxiliary$kv776tte.call(Unknown Source) ~[?:?]
airbyte-worker | at io.airbyte.workers.temporal.support.TemporalActivityStubInterceptor.execute(TemporalActivityStubInterceptor.java:79) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at SyncWorkflowImplProxy.run(Unknown Source) ~[?:?]
airbyte-worker | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
airbyte-worker | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
airbyte-worker | at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
airbyte-worker | at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
airbyte-worker | at io.temporal.internal.sync.POJOWorkflowImplementationFactory$POJOWorkflowImplementation$RootWorkflowInboundCallsInterceptor.execute(POJOWorkflowImplementationFactory.java:317) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.POJOWorkflowImplementationFactory$POJOWorkflowImplementation.execute(POJOWorkflowImplementationFactory.java:292) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.WorkflowExecuteRunnable.run(WorkflowExecuteRunnable.java:72) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.SyncWorkflow.lambda$start$0(SyncWorkflow.java:137) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.CancellationScopeImpl.run(CancellationScopeImpl.java:101) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.WorkflowThreadImpl$RunnableWrapper.run(WorkflowThreadImpl.java:111) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
airbyte-worker | at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
airbyte-worker | at java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | Caused by: io.temporal.failure.ApplicationFailure: message='io.temporal.serviceclient.CheckedExceptionWrapper: java.util.concurrent.ExecutionException: io.airbyte.workers.exception.WorkerException: Normalization Failed.', type='java.lang.RuntimeException', nonRetryable=false
airbyte-worker | at io.airbyte.commons.temporal.TemporalUtils.withBackgroundHeartbeat(TemporalUtils.java:278) ~[io.airbyte-airbyte-commons-temporal-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.normalize(NormalizationActivityImpl.java:93) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method:0) ~[?:?]
airbyte-worker | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
airbyte-worker | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
airbyte-worker | at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityInboundCallsInterceptor.execute(POJOActivityTaskHandler.java:214) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityImplementation.execute(POJOActivityTaskHandler.java:180) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler.handle(POJOActivityTaskHandler.java:120) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:204) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:164) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:93) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
airbyte-worker | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
airbyte-worker | at java.base/java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | Caused by: io.temporal.failure.ApplicationFailure: message='io.airbyte.workers.exception.WorkerException: Normalization Failed.', type='java.util.concurrent.ExecutionException', nonRetryable=false
airbyte-worker | at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?]
airbyte-worker | at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) ~[?:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.get(TemporalAttemptExecution.java:132) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.lambda$normalize$3(NormalizationActivityImpl.java:121) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.commons.temporal.TemporalUtils.withBackgroundHeartbeat(TemporalUtils.java:273) ~[io.airbyte-airbyte-commons-temporal-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.normalize(NormalizationActivityImpl.java:93) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method:0) ~[?:?]
airbyte-worker | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
airbyte-worker | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
airbyte-worker | at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityInboundCallsInterceptor.execute(POJOActivityTaskHandler.java:214) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityImplementation.execute(POJOActivityTaskHandler.java:180) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler.handle(POJOActivityTaskHandler.java:120) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:204) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:164) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:93) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
airbyte-worker | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
airbyte-worker | at java.base/java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | Caused by: io.temporal.failure.ApplicationFailure: message='Normalization Failed.', type='io.airbyte.workers.exception.WorkerException', nonRetryable=false
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:92) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:27) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.lambda$getWorkerThread$2(TemporalAttemptExecution.java:161) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.base/java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | 2022-11-28 20:18:22 INFO i.a.w.t.s.ConnectionManagerWorkflowImpl(ensureCleanJobState):630 - This workflow is already attached to a job, so no need to clean job state.
airbyte-worker | 2022-11-28 20:18:22 INFO i.a.a.LoggingTrackingClient(track):43 - track. version: null, userId: null, action: Connector Jobs, metadata: {job_type=sync, namespace_definition=source, frequency=1440 min, connector_source_definition_id=dfd88b22-b603-4c3d-aad7-3701784586b1, workspace_id=447352f0-70f1-4d70-8dde-d7c566db9a11, attempt_stage=STARTED, attempt_id=3, connector_destination=DuckDB, connector_destination_docker_repository=airbyte/destination-duckdb, table_prefix=false, workspace_name=447352f0-70f1-4d70-8dde-d7c566db9a11, catalog.destination_sync_mode.overwrite=set, number_of_streams=3, connector_source=Faker, connector_source_docker_repository=airbyte/source-faker, catalog.sync_mode.full_refresh=set, connection_id=90825c11-8204-410a-ad1d-a841a3ea02c8, job_id=3, connector_source_version=0.1.6, config.destination.destination_path=set, connector_destination_version=dev, config.source.records_per_sync=set, operation.normalization=1, config.source.records_per_slice=set, operation_count=1, connector_destination_definition_id=3417e215-ae62-4632-8179-0c8ac8fda975, config.source.count=set, config.source.seed=set}
airbyte-worker | 2022-11-28 20:18:22 INFO i.a.w.t.s.ConnectionManagerWorkflowImpl(checkConnections):408 - SOURCE CHECK: Starting
airbyte-worker | 2022-11-28 20:18:22 INFO i.a.w.t.TemporalAttemptExecution(get):108 - Docker volume job log path: /tmp/workspace/3/2/logs.log
airbyte-worker | 2022-11-28 20:18:22 INFO i.a.w.t.TemporalAttemptExecution(get):113 - Executing worker wrapper. Airbyte version: dev
airbyte-server | 2022-11-28 20:18:22 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/attempt/set_workflow_in_attempt - {"jobId":3,"attemptNumber":2,"workflowId":"connection_manager_90825c11-8204-410a-ad1d-a841a3ea02c8"}
airbyte-worker | 2022-11-28 20:18:22 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:22 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- START CHECK -----
airbyte-worker | 2022-11-28 20:18:22 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:22 INFO i.a.c.i.LineGobbler(voidCall):114 - Checking if airbyte/source-faker:0.1.6 exists...
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.c.i.LineGobbler(voidCall):114 - airbyte/source-faker:0.1.6 was found locally.
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.w.p.DockerProcessFactory(create):119 - Creating docker container = source-faker-check-3-2-tlrbm with resources io.airbyte.config.ResourceRequirements@1ba883d2[cpuRequest=,cpuLimit=,memoryRequest=,memoryLimit=]
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.w.p.DockerProcessFactory(create):163 - Preparing command: docker run --rm --init -i -w /data/3/2 --log-driver none --name source-faker-check-3-2-tlrbm --network host -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -e DEPLOYMENT_MODE=OSS -e USE_STREAM_CAPABLE_STATE=true -e WORKER_ENVIRONMENT=DOCKER -e AIRBYTE_ROLE= -e WORKER_CONNECTOR_IMAGE=airbyte/source-faker:0.1.6 -e WORKER_JOB_ATTEMPT=2 -e AIRBYTE_VERSION=dev -e WORKER_JOB_ID=3 airbyte/source-faker:0.1.6 check --config source_config.json
airbyte-server | 2022-11-28 20:18:23 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.4 POST 200 /api/v1/jobs/list - {"configId":"90825c11-8204-410a-ad1d-a841a3ea02c8","configTypes":["sync","reset_connection"],"pagination":{"pageSize":25}}
airbyte-webapp | 172.18.0.1 - airbyte [28/Nov/2022:20:18:23 +0000] "POST /api/v1/jobs/list HTTP/1.1" 200 18420 "http://localhost:8000/workspaces/447352f0-70f1-4d70-8dde-d7c566db9a11/connections/90825c11-8204-410a-ad1d-a841a3ea02c8/status" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36" "-"
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.w.i.DefaultAirbyteStreamFactory(internalLog):103 - Check succeeded
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.w.t.TemporalAttemptExecution(get):134 - Stopping cancellation check scheduling...
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- END CHECK -----
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.w.t.s.ConnectionManagerWorkflowImpl(checkConnections):415 - SOURCE CHECK: Successful
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.w.t.s.ConnectionManagerWorkflowImpl(checkConnections):425 - DESTINATION CHECK: Starting
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.w.t.TemporalAttemptExecution(get):108 - Docker volume job log path: /tmp/workspace/3/2/logs.log
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.w.t.TemporalAttemptExecution(get):113 - Executing worker wrapper. Airbyte version: dev
airbyte-server | 2022-11-28 20:18:23 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/attempt/set_workflow_in_attempt - {"jobId":3,"attemptNumber":2,"workflowId":"connection_manager_90825c11-8204-410a-ad1d-a841a3ea02c8"}
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- START CHECK -----
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.c.i.LineGobbler(voidCall):114 - Checking if airbyte/destination-duckdb:dev exists...
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.c.i.LineGobbler(voidCall):114 - airbyte/destination-duckdb:dev was found locally.
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.w.p.DockerProcessFactory(create):119 - Creating docker container = destination-duckdb-check-3-2-jnawq with resources io.airbyte.config.ResourceRequirements@1ba883d2[cpuRequest=,cpuLimit=,memoryRequest=,memoryLimit=]
airbyte-worker | 2022-11-28 20:18:23 INFO i.a.w.p.DockerProcessFactory(create):163 - Preparing command: docker run --rm --init -i -w /data/3/2 --log-driver none --name destination-duckdb-check-3-2-jnawq --network host -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -e DEPLOYMENT_MODE=OSS -e USE_STREAM_CAPABLE_STATE=true -e WORKER_ENVIRONMENT=DOCKER -e AIRBYTE_ROLE= -e WORKER_CONNECTOR_IMAGE=airbyte/destination-duckdb:dev -e WORKER_JOB_ATTEMPT=2 -e AIRBYTE_VERSION=dev -e WORKER_JOB_ID=3 airbyte/destination-duckdb:dev check --config source_config.json
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.w.t.TemporalAttemptExecution(get):134 - Stopping cancellation check scheduling...
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- END CHECK -----
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.w.t.s.ConnectionManagerWorkflowImpl(checkConnections):432 - DESTINATION CHECK: Successful
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.w.t.TemporalAttemptExecution(get):108 - Docker volume job log path: /tmp/workspace/3/2/logs.log
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.w.t.TemporalAttemptExecution(get):113 - Executing worker wrapper. Airbyte version: dev
airbyte-server | 2022-11-28 20:18:24 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/attempt/set_workflow_in_attempt - {"jobId":3,"attemptNumber":2,"workflowId":"sync_3"}
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.c.f.EnvVariableFeatureFlags(getEnvOrDefault):50 - Using default value for environment variable LOG_CONNECTOR_MESSAGES: 'false'
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.c.EnvConfigs(getEnvOrDefault):1085 - Using default value for environment variable METRIC_CLIENT: ''
airbyte-worker | 2022-11-28 20:18:24 WARN i.a.m.l.MetricClientFactory(initialize):60 - Metric client is already initialized to
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.c.f.EnvVariableFeatureFlags(getEnvOrDefault):50 - Using default value for environment variable LOG_CONNECTOR_MESSAGES: 'false'
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.w.g.DefaultReplicationWorker(run):122 - start sync worker. job id: 3 attempt id: 2
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- START REPLICATION -----
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.w.g.DefaultReplicationWorker(run):135 - configured sync modes: {null.Users=full_refresh - overwrite, null.Purchases=full_refresh - overwrite, null.Products=full_refresh - overwrite}
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.w.i.DefaultAirbyteDestination(start):69 - Running destination...
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.c.i.LineGobbler(voidCall):114 - Checking if airbyte/destination-duckdb:dev exists...
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.c.i.LineGobbler(voidCall):114 - airbyte/destination-duckdb:dev was found locally.
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.w.p.DockerProcessFactory(create):119 - Creating docker container = destination-duckdb-write-3-2-mcemc with resources io.airbyte.config.ResourceRequirements@4023a4b[cpuRequest=,cpuLimit=,memoryRequest=,memoryLimit=]
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.w.p.DockerProcessFactory(create):163 - Preparing command: docker run --rm --init -i -w /data/3/2 --log-driver none --name destination-duckdb-write-3-2-mcemc --network host -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -e DEPLOYMENT_MODE=OSS -e USE_STREAM_CAPABLE_STATE=true -e WORKER_ENVIRONMENT=DOCKER -e AIRBYTE_ROLE= -e WORKER_CONNECTOR_IMAGE=airbyte/destination-duckdb:dev -e WORKER_JOB_ATTEMPT=2 -e AIRBYTE_VERSION=dev -e WORKER_JOB_ID=3 airbyte/destination-duckdb:dev write --config destination_config.json --catalog destination_catalog.json
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.c.i.LineGobbler(voidCall):114 - Checking if airbyte/source-faker:0.1.6 exists...
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.c.i.LineGobbler(voidCall):114 - airbyte/source-faker:0.1.6 was found locally.
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.w.p.DockerProcessFactory(create):119 - Creating docker container = source-faker-read-3-2-lsknj with resources io.airbyte.config.ResourceRequirements@1f065749[cpuRequest=,cpuLimit=,memoryRequest=,memoryLimit=]
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.w.p.DockerProcessFactory(create):163 - Preparing command: docker run --rm --init -i -w /data/3/2 --log-driver none --name source-faker-read-3-2-lsknj --network host -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -e DEPLOYMENT_MODE=OSS -e USE_STREAM_CAPABLE_STATE=true -e WORKER_ENVIRONMENT=DOCKER -e AIRBYTE_ROLE= -e WORKER_CONNECTOR_IMAGE=airbyte/source-faker:0.1.6 -e WORKER_JOB_ATTEMPT=2 -e AIRBYTE_VERSION=dev -e WORKER_JOB_ID=3 airbyte/source-faker:0.1.6 read --config source_config.json --catalog source_catalog.json --state input_state.json
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.w.g.DefaultReplicationWorker(run):177 - Waiting for source and destination threads to complete.
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.w.g.DefaultReplicationWorker(lambda$getReplicationRunnable$6):322 - Replication thread started.
airbyte-worker | 2022-11-28 20:18:24 INFO i.a.w.g.DefaultReplicationWorker(lambda$getDestinationOutputRunnable$7):435 - Destination output thread started.
airbyte-worker | 2022-11-28 20:18:24 destination > Begin writing to the destination...
airbyte-worker | 2022-11-28 20:18:24 destination > Starting write to DuckDB with 3 streams
airbyte-worker | 2022-11-28 20:18:24 destination > Opening DuckDB file at /local/test_duck.duckdb
airbyte-worker | 2022-11-28 20:18:24 destination > --- {'Products', 'Purchases', 'Users'}
airbyte-worker | 2022-11-28 20:18:24 destination > --- {'Products', 'Purchases', 'Users'}
airbyte-worker | 2022-11-28 20:18:24 destination > --- {'Products', 'Purchases', 'Users'}
airbyte-worker | 2022-11-28 20:18:25 source > Sending data for stream: Users
airbyte-worker | 2022-11-28 20:18:25 source > Sending data for stream: Products
airbyte-worker | 2022-11-28 20:18:25 ERROR c.n.s.DateTimeValidator(tryParse):82 - Invalid date-time: No zone offset information found
airbyte-worker | 2022-11-28 20:18:25 ERROR c.n.s.DateTimeValidator(tryParse):82 - Invalid date-time: No zone offset information found
airbyte-worker | 2022-11-28 20:18:25 ERROR c.n.s.DateTimeValidator(tryParse):82 - Invalid date-time: No zone offset information found
airbyte-worker | 2022-11-28 20:18:25 source > Sending data for stream: Purchases
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.w.g.DefaultReplicationWorker(lambda$getReplicationRunnable$6):355 - Source has no more messages, closing connection.
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.w.g.DefaultReplicationWorker(lambda$getReplicationRunnable$6):363 - Total records read: 103 (10 KB)
airbyte-worker | 2022-11-28 20:18:25 WARN i.a.w.g.DefaultReplicationWorker(lambda$getReplicationRunnable$5):366 - Schema validation errors found for stream Products. Error messages: [$.created_at is of an incorrect type. Expected it to be date-time, $.year is of an incorrect type. Expected it to be string]
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.w.g.DefaultReplicationWorker(run):182 - One of source or destination thread complete. Waiting on the other.
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.w.g.DefaultReplicationWorker(lambda$getDestinationOutputRunnable$7):445 - State in DefaultReplicationWorker from destination: io.airbyte.protocol.models.AirbyteMessage@2d27d836[type=STATE,log=<null>,spec=<null>,connectionStatus=<null>,catalog=<null>,record=<null>,state=io.airbyte.protocol.models.AirbyteStateMessage@23e023e2[type=<null>,stream=<null>,global=<null>,data={"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}},additionalProperties={}],trace=<null>,additionalProperties={}]
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.w.g.DefaultReplicationWorker(lambda$getDestinationOutputRunnable$7):445 - State in DefaultReplicationWorker from destination: io.airbyte.protocol.models.AirbyteMessage@27dfb346[type=STATE,log=<null>,spec=<null>,connectionStatus=<null>,catalog=<null>,record=<null>,state=io.airbyte.protocol.models.AirbyteStateMessage@62dd29d9[type=<null>,stream=<null>,global=<null>,data={"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}},additionalProperties={}],trace=<null>,additionalProperties={}]
airbyte-worker | 2022-11-28 20:18:25 WARN i.a.w.i.AirbyteMessageTracker(handleDestinationEmittedState):196 - The message tracker encountered an issue that prevents committed record counts from being reliably computed.
airbyte-worker | 2022-11-28 20:18:25 WARN i.a.w.i.AirbyteMessageTracker(handleDestinationEmittedState):197 - This only impacts metadata and does not indicate a problem with actual sync data.
airbyte-worker | 2022-11-28 20:18:25 WARN i.a.w.i.AirbyteMessageTracker(handleDestinationEmittedState):198 - State hash 1340819859 was already committed, likely indicating a state hash collision
airbyte-worker | io.airbyte.workers.internal.StateDeltaTracker$StateDeltaTrackerException: State hash 1340819859 was already committed, likely indicating a state hash collision
airbyte-worker | at io.airbyte.workers.internal.StateDeltaTracker.commitStateHash(StateDeltaTracker.java:114) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.internal.AirbyteMessageTracker.handleDestinationEmittedState(AirbyteMessageTracker.java:193) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.internal.AirbyteMessageTracker.acceptFromDestination(AirbyteMessageTracker.java:119) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.general.DefaultReplicationWorker.lambda$getDestinationOutputRunnable$7(DefaultReplicationWorker.java:446) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
airbyte-worker | at java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | 2022-11-28 20:18:25 destination > 4---mesage: type=<Type.STATE: 'STATE'> log=None spec=None connectionStatus=None catalog=None record=None state=AirbyteStateMessage(type=None, stream=None, global_=None, data={'Users': {'cursor': 100, 'seed': -1}, 'Products': {'product_count': 100}, 'Purchases': {'purchases_count': 119}}) trace=None control=None
airbyte-worker | 2022-11-28 20:18:25 destination > query:
airbyte-worker | INSERT INTO _airbyte_raw_Products
airbyte-worker | VALUES (?,?,?)
airbyte-worker |
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.w.g.DefaultReplicationWorker(lambda$getDestinationOutputRunnable$7):445 - State in DefaultReplicationWorker from destination: io.airbyte.protocol.models.AirbyteMessage@7128bbdc[type=STATE,log=<null>,spec=<null>,connectionStatus=<null>,catalog=<null>,record=<null>,state=io.airbyte.protocol.models.AirbyteStateMessage@53756928[type=<null>,stream=<null>,global=<null>,data={"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}},additionalProperties={}],trace=<null>,additionalProperties={}]
airbyte-worker | 2022-11-28 20:18:25 destination > Writing complete.
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.w.g.DefaultReplicationWorker(run):184 - Source and destination threads complete.
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.w.g.DefaultReplicationWorker(run):279 - Source output at least one state message
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.w.g.DefaultReplicationWorker(run):285 - State capture: Updated state to: Optional[io.airbyte.config.State@48615a15[state={"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}}]]
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.w.g.DefaultReplicationWorker(run):300 - sync summary: {
airbyte-worker | "status" : "completed",
airbyte-worker | "recordsSynced" : 100,
airbyte-worker | "bytesSynced" : 10542,
airbyte-worker | "startTime" : 1669666704487,
airbyte-worker | "endTime" : 1669666705562,
airbyte-worker | "totalStats" : {
airbyte-worker | "recordsEmitted" : 100,
airbyte-worker | "bytesEmitted" : 10542,
airbyte-worker | "sourceStateMessagesEmitted" : 3,
airbyte-worker | "destinationStateMessagesEmitted" : 3,
airbyte-worker | "recordsCommitted" : 100,
airbyte-worker | "meanSecondsBeforeSourceStateMessageEmitted" : 0,
airbyte-worker | "maxSecondsBeforeSourceStateMessageEmitted" : 0,
airbyte-worker | "maxSecondsBetweenStateMessageEmittedandCommitted" : 0,
airbyte-worker | "meanSecondsBetweenStateMessageEmittedandCommitted" : 0
airbyte-worker | },
airbyte-worker | "streamStats" : [ {
airbyte-worker | "streamName" : "Products",
airbyte-worker | "stats" : {
airbyte-worker | "recordsEmitted" : 100,
airbyte-worker | "bytesEmitted" : 10542,
airbyte-worker | "recordsCommitted" : 100
airbyte-worker | }
airbyte-worker | } ]
airbyte-worker | }
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.w.g.DefaultReplicationWorker(run):301 - failures: [ ]
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.w.t.TemporalAttemptExecution(get):134 - Stopping cancellation check scheduling...
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- END REPLICATION -----
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.w.t.s.ReplicationActivityImpl(lambda$replicate$3):159 - sync summary: io.airbyte.config.StandardSyncOutput@53be2dd2[standardSyncSummary=io.airbyte.config.StandardSyncSummary@16bcb9c1[status=completed,recordsSynced=100,bytesSynced=10542,startTime=1669666704487,endTime=1669666705562,totalStats=io.airbyte.config.SyncStats@7da48ee2[recordsEmitted=100,bytesEmitted=10542,sourceStateMessagesEmitted=3,destinationStateMessagesEmitted=3,recordsCommitted=100,meanSecondsBeforeSourceStateMessageEmitted=0,maxSecondsBeforeSourceStateMessageEmitted=0,maxSecondsBetweenStateMessageEmittedandCommitted=0,meanSecondsBetweenStateMessageEmittedandCommitted=0,additionalProperties={}],streamStats=[io.airbyte.config.StreamSyncStats@2760eccf[streamName=Products,stats=io.airbyte.config.SyncStats@592854c[recordsEmitted=100,bytesEmitted=10542,sourceStateMessagesEmitted=<null>,destinationStateMessagesEmitted=<null>,recordsCommitted=100,meanSecondsBeforeSourceStateMessageEmitted=<null>,maxSecondsBeforeSourceStateMessageEmitted=<null>,maxSecondsBetweenStateMessageEmittedandCommitted=<null>,meanSecondsBetweenStateMessageEmittedandCommitted=<null>,additionalProperties={}]]]],normalizationSummary=<null>,state=io.airbyte.config.State@48615a15[state={"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}}],outputCatalog=io.airbyte.protocol.models.ConfiguredAirbyteCatalog@7693468e[streams=[io.airbyte.protocol.models.ConfiguredAirbyteStream@2f990520[stream=io.airbyte.protocol.models.AirbyteStream@fbf8288[name=Users,jsonSchema={"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"id":{"type":"number"},"job":{"type":"string"},"sex":{"type":"string"},"ssn":{"type":"string"},"mail":{"type":"string"},"name":{"type":"string"},"address":{"type":"string"},"company":{"type":"string"},"website":{"type":"array"},"username":{"type":"string"},"residence":{"type":"string"},"created_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"},"updated_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"},"blood_group":{"type":"string"},"current_location":{"type":"array"}}},supportedSyncModes=[full_refresh, incremental],sourceDefinedCursor=<null>,defaultCursorField=[],sourceDefinedPrimaryKey=[],namespace=<null>,additionalProperties={}],syncMode=full_refresh,cursorField=[],destinationSyncMode=overwrite,primaryKey=[],additionalProperties={}], io.airbyte.protocol.models.ConfiguredAirbyteStream@1e96ced6[stream=io.airbyte.protocol.models.AirbyteStream@72dd5cbc[name=Products,jsonSchema={"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"id":{"type":"number"},"make":{"type":"string"},"year":{"type":"string"},"model":{"type":"string"},"price":{"type":"number"},"created_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"}}},supportedSyncModes=[full_refresh],sourceDefinedCursor=<null>,defaultCursorField=[],sourceDefinedPrimaryKey=[],namespace=<null>,additionalProperties={}],syncMode=full_refresh,cursorField=[],destinationSyncMode=overwrite,primaryKey=[],additionalProperties={}], io.airbyte.protocol.models.ConfiguredAirbyteStream@150af7c2[stream=io.airbyte.protocol.models.AirbyteStream@66d28c29[name=Purchases,jsonSchema={"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"id":{"type":"number"},"user_id":{"type":"number"},"product_id":{"type":"number"},"returned_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"},"purchased_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"},"added_to_cart_at":{"type":"string","format":"date-time","airbyte_type":"timestamp_without_timezone"}}},supportedSyncModes=[full_refresh, incremental],sourceDefinedCursor=<null>,defaultCursorField=[],sourceDefinedPrimaryKey=[],namespace=<null>,additionalProperties={}],syncMode=full_refresh,cursorField=[],destinationSyncMode=overwrite,primaryKey=[],additionalProperties={}]],additionalProperties={}],failures=[]]
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.c.t.TemporalUtils(withBackgroundHeartbeat):280 - Stopping temporal heartbeating...
airbyte-server | 2022-11-28 20:18:25 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/state/get - {"connectionId":"90825c11-8204-410a-ad1d-a841a3ea02c8"}
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.c.f.EnvVariableFeatureFlags(getEnvOrDefault):50 - Using default value for environment variable NEED_STATE_VALIDATION: 'true'
airbyte-server | 2022-11-28 20:18:25 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/state/create_or_update - {"connectionId":"90825c11-8204-410a-ad1d-a841a3ea02c8","connectionState":{"stateType":"legacy","connectionId":"90825c11-8204-410a-ad1d-a841a3ea02c8","state":{"Users":{"cursor":100,"seed":-1},"Products":{"product_count":100},"Purchases":{"purchases_count":119}}}}
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.w.t.s.SyncWorkflowImpl(run):82 - generating normalization input
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.w.t.TemporalAttemptExecution(get):108 - Docker volume job log path: /tmp/workspace/3/2/logs.log
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.w.t.TemporalAttemptExecution(get):113 - Executing worker wrapper. Airbyte version: dev
airbyte-server | 2022-11-28 20:18:25 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.7 POST 200 /api/v1/attempt/set_workflow_in_attempt - {"jobId":3,"attemptNumber":2,"workflowId":"sync_3"}
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.w.n.DefaultNormalizationRunner(runProcess):139 - Running with normalization version: airbyte/normalization-duckdb:0.2.22
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.c.i.LineGobbler(voidCall):114 - ----- START DEFAULT NORMALIZATION -----
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.c.i.LineGobbler(voidCall):114 -
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.c.i.LineGobbler(voidCall):114 - Checking if airbyte/normalization-duckdb:0.2.22 exists...
airbyte-worker | 2022-11-28 20:18:25 INFO i.a.c.i.LineGobbler(voidCall):114 - airbyte/normalization-duckdb:0.2.22 not found locally. Attempting to pull the image...
airbyte-server | 2022-11-28 20:18:26 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.4 POST 200 /api/v1/jobs/list - {"configId":"90825c11-8204-410a-ad1d-a841a3ea02c8","configTypes":["sync","reset_connection"],"pagination":{"pageSize":25}}
airbyte-webapp | 172.18.0.1 - airbyte [28/Nov/2022:20:18:26 +0000] "POST /api/v1/jobs/list HTTP/1.1" 200 18405 "http://localhost:8000/workspaces/447352f0-70f1-4d70-8dde-d7c566db9a11/connections/90825c11-8204-410a-ad1d-a841a3ea02c8/status" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36" "-"
airbyte-server | 2022-11-28 20:18:28 INFO i.a.s.RequestLogger(filter):112 - REQ 172.18.0.4 POST 200 /api/v1/jobs/list - {"configId":"90825c11-8204-410a-ad1d-a841a3ea02c8","configTypes":["sync","reset_connection"],"pagination":{"pageSize":25}}
airbyte-webapp | 172.18.0.1 - airbyte [28/Nov/2022:20:18:28 +0000] "POST /api/v1/jobs/list HTTP/1.1" 200 18420 "http://localhost:8000/workspaces/447352f0-70f1-4d70-8dde-d7c566db9a11/connections/90825c11-8204-410a-ad1d-a841a3ea02c8/status" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36" "-"
airbyte-worker | 2022-11-28 20:18:29 INFO i.a.c.i.LineGobbler(voidCall):114 - Image does not exist.
airbyte-worker | 2022-11-28 20:18:29 INFO i.a.w.g.DefaultNormalizationWorker(run):82 - Normalization executed in 3 seconds.
airbyte-worker | 2022-11-28 20:18:29 INFO i.a.w.t.TemporalAttemptExecution(lambda$getWorkerThread$2):164 - Completing future exceptionally...
airbyte-worker | io.airbyte.workers.exception.WorkerException: Normalization Failed.
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:92) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:27) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.lambda$getWorkerThread$2(TemporalAttemptExecution.java:161) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | 2022-11-28 20:18:29 INFO i.a.w.t.TemporalAttemptExecution(get):134 - Stopping cancellation check scheduling...
airbyte-worker | 2022-11-28 20:18:29 INFO i.a.c.t.TemporalUtils(withBackgroundHeartbeat):280 - Stopping temporal heartbeating...
airbyte-worker | 2022-11-28 20:18:29 WARN i.t.i.a.POJOActivityTaskHandler(activityFailureToResult):307 - Activity failure. ActivityId=bf7953f6-7961-396b-bed7-11850be40ac5, activityType=Normalize, attempt=1
airbyte-worker | java.lang.RuntimeException: io.temporal.serviceclient.CheckedExceptionWrapper: java.util.concurrent.ExecutionException: io.airbyte.workers.exception.WorkerException: Normalization Failed.
airbyte-worker | at io.airbyte.commons.temporal.TemporalUtils.withBackgroundHeartbeat(TemporalUtils.java:278) ~[io.airbyte-airbyte-commons-temporal-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.normalize(NormalizationActivityImpl.java:93) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
airbyte-worker | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
airbyte-worker | at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
airbyte-worker | at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityInboundCallsInterceptor.execute(POJOActivityTaskHandler.java:214) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityImplementation.execute(POJOActivityTaskHandler.java:180) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler.handle(POJOActivityTaskHandler.java:120) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:204) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:164) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:93) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
airbyte-worker | at java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | Caused by: io.temporal.serviceclient.CheckedExceptionWrapper: java.util.concurrent.ExecutionException: io.airbyte.workers.exception.WorkerException: Normalization Failed.
airbyte-worker | at io.temporal.serviceclient.CheckedExceptionWrapper.wrap(CheckedExceptionWrapper.java:56) ~[temporal-serviceclient-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.WorkflowInternal.wrap(WorkflowInternal.java:448) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.activity.Activity.wrap(Activity.java:51) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.get(TemporalAttemptExecution.java:138) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.lambda$normalize$3(NormalizationActivityImpl.java:121) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.commons.temporal.TemporalUtils.withBackgroundHeartbeat(TemporalUtils.java:273) ~[io.airbyte-airbyte-commons-temporal-0.40.10.jar:?]
airbyte-worker | ... 14 more
airbyte-worker | Caused by: java.util.concurrent.ExecutionException: io.airbyte.workers.exception.WorkerException: Normalization Failed.
airbyte-worker | at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?]
airbyte-worker | at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) ~[?:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.get(TemporalAttemptExecution.java:132) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.lambda$normalize$3(NormalizationActivityImpl.java:121) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.commons.temporal.TemporalUtils.withBackgroundHeartbeat(TemporalUtils.java:273) ~[io.airbyte-airbyte-commons-temporal-0.40.10.jar:?]
airbyte-worker | ... 14 more
airbyte-worker | Caused by: io.airbyte.workers.exception.WorkerException: Normalization Failed.
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:92) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:27) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.lambda$getWorkerThread$2(TemporalAttemptExecution.java:161) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | ... 1 more
airbyte-worker | 2022-11-28 20:18:29 ERROR i.t.i.s.WorkflowExecuteRunnable(logWorkflowExecutionException):125 - Workflow execution failure WorkflowId=sync_3, RunId=933c5c7e-dfd4-45bd-810b-66b2d6ebdcdc, WorkflowType=SyncWorkflow
airbyte-worker | io.temporal.failure.ActivityFailure: scheduledEventId=31, startedEventId=32, activityType='Normalize', activityId='bf7953f6-7961-396b-bed7-11850be40ac5', identity='1@d74c69727d08', retryState=RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED
airbyte-worker | at java.lang.Thread.getStackTrace(Thread.java:1610) ~[?:?]
airbyte-worker | at io.temporal.internal.sync.ActivityStubBase.execute(ActivityStubBase.java:48) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.ActivityInvocationHandler.lambda$getActivityFunc$0(ActivityInvocationHandler.java:77) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.ActivityInvocationHandlerBase.invoke(ActivityInvocationHandlerBase.java:70) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at jdk.proxy2.$Proxy103.normalize(Unknown Source) ~[?:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.SyncWorkflowImpl.run(SyncWorkflowImpl.java:85) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at SyncWorkflowImplProxy.run$accessor$dJlyJFnl(Unknown Source) ~[?:?]
airbyte-worker | at SyncWorkflowImplProxy$auxiliary$kv776tte.call(Unknown Source) ~[?:?]
airbyte-worker | at io.airbyte.workers.temporal.support.TemporalActivityStubInterceptor.execute(TemporalActivityStubInterceptor.java:79) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at SyncWorkflowImplProxy.run(Unknown Source) ~[?:?]
airbyte-worker | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
airbyte-worker | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
airbyte-worker | at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
airbyte-worker | at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
airbyte-worker | at io.temporal.internal.sync.POJOWorkflowImplementationFactory$POJOWorkflowImplementation$RootWorkflowInboundCallsInterceptor.execute(POJOWorkflowImplementationFactory.java:317) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.POJOWorkflowImplementationFactory$POJOWorkflowImplementation.execute(POJOWorkflowImplementationFactory.java:292) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.WorkflowExecuteRunnable.run(WorkflowExecuteRunnable.java:72) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.SyncWorkflow.lambda$start$0(SyncWorkflow.java:137) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.CancellationScopeImpl.run(CancellationScopeImpl.java:101) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.sync.WorkflowThreadImpl$RunnableWrapper.run(WorkflowThreadImpl.java:111) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
airbyte-worker | at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
airbyte-worker | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
airbyte-worker | at java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | Caused by: io.temporal.failure.ApplicationFailure: message='io.temporal.serviceclient.CheckedExceptionWrapper: java.util.concurrent.ExecutionException: io.airbyte.workers.exception.WorkerException: Normalization Failed.', type='java.lang.RuntimeException', nonRetryable=false
airbyte-worker | at io.airbyte.commons.temporal.TemporalUtils.withBackgroundHeartbeat(TemporalUtils.java:278) ~[io.airbyte-airbyte-commons-temporal-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.normalize(NormalizationActivityImpl.java:93) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method:0) ~[?:?]
airbyte-worker | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
airbyte-worker | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
airbyte-worker | at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityInboundCallsInterceptor.execute(POJOActivityTaskHandler.java:214) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityImplementation.execute(POJOActivityTaskHandler.java:180) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler.handle(POJOActivityTaskHandler.java:120) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:204) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:164) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:93) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
airbyte-worker | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
airbyte-worker | at java.base/java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | Caused by: io.temporal.failure.ApplicationFailure: message='io.airbyte.workers.exception.WorkerException: Normalization Failed.', type='java.util.concurrent.ExecutionException', nonRetryable=false
airbyte-worker | at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?]
airbyte-worker | at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) ~[?:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.get(TemporalAttemptExecution.java:132) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.lambda$normalize$3(NormalizationActivityImpl.java:121) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.commons.temporal.TemporalUtils.withBackgroundHeartbeat(TemporalUtils.java:273) ~[io.airbyte-airbyte-commons-temporal-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.sync.NormalizationActivityImpl.normalize(NormalizationActivityImpl.java:93) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method:0) ~[?:?]
airbyte-worker | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
airbyte-worker | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
airbyte-worker | at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityInboundCallsInterceptor.execute(POJOActivityTaskHandler.java:214) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler$POJOActivityImplementation.execute(POJOActivityTaskHandler.java:180) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.activity.POJOActivityTaskHandler.handle(POJOActivityTaskHandler.java:120) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:204) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.ActivityWorker$TaskHandlerImpl.handle(ActivityWorker.java:164) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:93) ~[temporal-sdk-1.8.1.jar:?]
airbyte-worker | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
airbyte-worker | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
airbyte-worker | at java.base/java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | Caused by: io.temporal.failure.ApplicationFailure: message='Normalization Failed.', type='io.airbyte.workers.exception.WorkerException', nonRetryable=false
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:92) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:27) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.lambda$getWorkerThread$2(TemporalAttemptExecution.java:161) ~[io.airbyte-airbyte-workers-0.40.10.jar:?]
airbyte-worker | at java.base/java.lang.Thread.run(Thread.java:833) ~[?:?]
airbyte-worker | 2022-11-28 20:18:29 INFO i.a.a.LoggingTrackingClient(track):43 - track. version: null, userId: null, action: Connector Jobs, metadata: {job_type=sync, namespace_definition=source, frequency=1440 min, connector_source_definition_id=dfd88b22-b603-4c3d-aad7-3701784586b1, workspace_id=447352f0-70f1-4d70-8dde-d7c566db9a11, attempt_stage=ENDED, main_failure_reason={"failureOrigin":"normalization","failureType":null,"internalMessage":"message='io.temporal.serviceclient.CheckedExceptionWrapper: java.util.concurrent.ExecutionException: io.airbyte.workers.exception.WorkerException: Normalization Failed.', type='java.lang.RuntimeException', nonRetryable=false","externalMessage":"Something went wrong during normalization","metadata":{"attemptNumber":0,"jobId":3},"retryable":null,"timestamp":1669666698432}, attempt_id=3, connector_destination=DuckDB, connector_destination_docker_repository=airbyte/destination-duckdb, table_prefix=false, workspace_name=447352f0-70f1-4d70-8dde-d7c566db9a11, failure_reasons=[{"failureOrigin":"normalization","failureType":null,"internalMessage":"message='io.temporal.serviceclient.CheckedExceptionWrapper: java.util.concurrent.ExecutionException: io.airbyte.workers.exception.WorkerException: Normalization Failed.', type='java.lang.RuntimeException', nonRetryable=false","externalMessage":"Something went wrong during normalization","metadata":{"attemptNumber":0,"jobId":3},"retryable":null,"timestamp":1669666698432},{"failureOrigin":"normalization","failureType":null,"internalMessage":"message='io.temporal.serviceclient.CheckedExceptionWrapper: java.util.concurrent.ExecutionException: io.airbyte.workers.exception.WorkerException: Normalization Failed.', type='java.lang.RuntimeException', nonRetryable=false","externalMessage":"Something went wrong during normalization","metadata":{"attemptNumber":1,"jobId":3},"retryable":null,"timestamp":1669666702781},{"failureOrigin":"normalization","failureType":null,"internalMessage":"message='io.temporal.serviceclient.CheckedExceptionWrapper: java.util.concurrent.ExecutionException: io.airbyte.workers.exception.WorkerException: Normalization Failed.', type='java.lang.RuntimeException', nonRetryable=false","externalMessage":"Something went wrong during normalization","metadata":{"attemptNumber":2,"jobId":3},"retryable":null,"timestamp":1669666709212}], catalog.destination_sync_mode.overwrite=set, number_of_streams=3, connector_source=Faker, connector_source_docker_repository=airbyte/source-faker, attempt_completion_status=FAILED, catalog.sync_mode.full_refresh=set, connection_id=90825c11-8204-410a-ad1d-a841a3ea02c8, job_id=3, connector_source_version=0.1.6, config.destination.destination_path=set, connector_destination_version=dev, config.source.records_per_sync=set, operation.normalization=1, config.source.records_per_slice=set, operation_count=1, connector_destination_definition_id=3417e215-ae62-4632-8179-0c8ac8fda975, config.source.count=set, config.source.seed=set}
airbyte-worker | 2022-11-28 20:18:29 INFO i.a.c.f.EnvVariableFeatureFlags(autoDisablesFailingConnections):19 - Auto Disable Failing Connections: false
this was buried pretty deeply - from the full logs:
airbyte-worker | 2022-11-28 20:18:16 INFO i.a.c.i.LineGobbler(voidCall):114 - airbyte/normalization-duckdb:0.2.22 not found locally. Attempting to pull the image...
airbyte-worker | 2022-11-28 20:18:18 INFO i.a.c.i.LineGobbler(voidCall):114 - Image does not exist.
if you run ./gradlew :airbyte-integrations:bases:base-normalization:airbyteDockerDuckDb
, does that build an airbyte/normalization-duckdb:dev
image locally? if yes, I think you could do docker tag airbyte/normalization-duckdb:dev airbyte/normalization-duckdb:0.2.22
to get this working.
Or just update this line to say = "dev";
and rebuild the platform.
Latest update
- DuckDB destination is working
- Normalization part is having some errors.
Normalization
NOTE: DuckDB is the same as SQLite a single-file DB. Meaning, unlike BigQuery or others that stay persisted during the airbyte sync. This file will/should be generated or accessed from a local path.
The current assessment is, that the local duckdb-file is not persisted on my local MacBook filesystem, that way the normalization container will not have access to the duckdb-file that was generated inside the destination-duckdb container (stored in airbyte-worker
and airbyte-server
as well).
Question to check:
- Is it possible to map a filesystem that is persisted outside of the containers? I tried the magic folder
/tmp/airbyte_local
that is mapped to/local/
as explained in the docs here. But I was not able to see any file on my local file system on my MacBook. - If the above is possible, does the normalization container support reading from that location as well? Or is that only intended to work for destination connectors?
Or do you have any other suggestion to persist the single DuckDB file on a central place?
After correctly configure Docker Desktop as fixed with https://github.com/airbytehq/airbyte/pull/21004, the /tmp/airbyte_local
is correctly accessed by the destination-duckdb
container and tables are generated (there is a capital case in the table names that looks odd, but I tried to delete and adding without capitalized, and still got the error below).
/tmp/airbyte_local/duckdb destination-duckdb
❮ duckdb destination.duckdb
v0.6.0 2213f9c946
Enter ".help" for usage hints.
D select * from information_schema.tables;
┌───────────────┬──────────────┬──────────────────────┬────────────┬──────────────────────┬───┬──────────────────────┬────────────────────┬──────────┬───────────────┐
│ table_catalog │ table_schema │ table_name │ table_type │ self_referencing_c… │ … │ user_defined_type_… │ is_insertable_into │ is_typed │ commit_action │
│ int32 │ varchar │ varchar │ varchar │ int32 │ │ int32 │ varchar │ varchar │ varchar │
├───────────────┼──────────────┼──────────────────────┼────────────┼──────────────────────┼───┼──────────────────────┼────────────────────┼──────────┼───────────────┤
│ │ main │ _airbyte_raw_Users │ BASE TABLE │ │ … │ │ YES │ NO │ │
│ │ main │ _airbyte_raw_Produ… │ BASE TABLE │ │ … │ │ YES │ NO │ │
│ │ main │ _airbyte_raw_Purch… │ BASE TABLE │ │ … │ │ YES │ NO │ │
├───────────────┴──────────────┴──────────────────────┴────────────┴──────────────────────┴───┴──────────────────────┴────────────────────┴──────────┴───────────────┤
│ 3 rows 12 columns (9 shown) │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
The question now is if the irbyte/normalization-duckdb:0.2.22
can read that shared file on the mac local filesystem can access too. The log indicates that the volume is also mapped to the normalization container:
airbyte-worker | 2023-01-04 10:52:49 INFO i.a.w.p.DockerProcessFactory(create):163 - Preparing command: docker run --rm --init -i -w /data/5/2/normalize --log-driver none --name normalization-duckdb-normalize-5-2-wjkqp --network host -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -e DEPLOYMENT_MODE=OSS -e WORKER_ENVIRONMENT=DOCKER -e AIRBYTE_ROLE= -e AIRBYTE_VERSION=dev airbyte/normalization-duckdb:0.2.22 run --integration-type duckdb --config destination_config.json --catalog destination_catalog.json
Unfortunately the error still remains, that the dbt run
seems not to see the tables, eventhouh they exists:
airbyte-worker | 2023-01-04 10:53:58 normalization > 10:53:58 Running with dbt=1.0.8
airbyte-worker | 2023-01-04 10:53:58 normalization > dbt version: 1.0.8
airbyte-worker | 2023-01-04 10:53:58 normalization > python version: 3.9.9
airbyte-worker | 2023-01-04 10:53:58 normalization > python path: /usr/local/bin/python
airbyte-worker | 2023-01-04 10:53:58 normalization > os info: Linux-5.15.49-linuxkit-x86_64-with-glibc2.31
airbyte-worker | 2023-01-04 10:53:58 normalization > Using profiles.yml file at /data/5/2/normalize/profiles.yml
airbyte-worker | 2023-01-04 10:53:58 normalization > Using dbt_project.yml file at /data/5/2/normalize/dbt_project.yml
airbyte-worker | 2023-01-04 10:53:58 INFO i.a.w.n.NormalizationAirbyteStreamFactory(filterOutAndHandleNonAirbyteMessageLines):104 -
airbyte-worker | 2023-01-04 10:53:58 normalization > Configuration:
airbyte-worker | 2023-01-04 10:53:58 normalization > profiles.yml file [OK found and valid]
airbyte-worker | 2023-01-04 10:53:58 normalization > dbt_project.yml file [OK found and valid]
airbyte-worker | 2023-01-04 10:53:58 INFO i.a.w.n.NormalizationAirbyteStreamFactory(filterOutAndHandleNonAirbyteMessageLines):104 -
airbyte-worker | 2023-01-04 10:53:58 normalization > Required dependencies:
airbyte-worker | 2023-01-04 10:53:58 normalization > - git [OK found]
airbyte-worker | 2023-01-04 10:53:58 INFO i.a.w.n.NormalizationAirbyteStreamFactory(filterOutAndHandleNonAirbyteMessageLines):104 -
airbyte-worker | 2023-01-04 10:53:58 normalization > Connection:
airbyte-worker | 2023-01-04 10:53:58 normalization > database: main
airbyte-worker | 2023-01-04 10:53:58 normalization > schema: main
airbyte-worker | 2023-01-04 10:53:58 normalization > path: :memory:
airbyte-worker | 2023-01-04 10:53:59 normalization > Connection test: [OK connection ok]
airbyte-worker | 2023-01-04 10:53:59 INFO i.a.w.n.NormalizationAirbyteStreamFactory(filterOutAndHandleNonAirbyteMessageLines):104 -
airbyte-worker | 2023-01-04 10:53:59 normalization > All checks passed!
airbyte-worker | 2023-01-04 10:53:59 INFO i.a.w.n.NormalizationAirbyteStreamFactory(filterOutAndHandleNonAirbyteMessageLines):104 -
airbyte-worker | 2023-01-04 10:53:59 normalization > Forward dbt output logs to diagnose/debug errors (0):
airbyte-worker | 2023-01-04 10:53:59 INFO i.a.w.n.NormalizationAirbyteStreamFactory(filterOutAndHandleNonAirbyteMessageLines):104 -
airbyte-worker | 2023-01-04 10:53:59 normalization > Running with dbt=1.0.8
airbyte-worker | 2023-01-04 10:53:59 normalization > Partial parse save file not found. Starting full parse.
airbyte-worker | 2023-01-04 10:53:59 normalization > [WARNING]: Configuration paths exist in your dbt_project.yml file which do not apply to any resources.
airbyte-worker | There are 2 unused configuration paths:
airbyte-worker | - models.airbyte_utils.generated.airbyte_views
airbyte-worker | - models.airbyte_utils.generated.airbyte_incremental
airbyte-worker |
airbyte-worker | 2023-01-04 10:53:59 normalization > Found 12 models, 0 tests, 0 snapshots, 0 analyses, 600 macros, 0 operations, 0 seed files, 3 sources, 0 exposures, 0 metrics
airbyte-worker | 2023-01-04 10:53:59 normalization > Concurrency: 1 threads (target='prod')
airbyte-worker | 2023-01-04 10:53:59 normalization > 1 of 3 START table model main.products.................................................................................. [RUN]
airbyte-worker | 2023-01-04 10:53:59 normalization > 1 of 3 ERROR creating table model main.products......................................................................... [ERROR in 0.38s]
airbyte-worker | 2023-01-04 10:53:59 normalization > 2 of 3 START table model main.purchases................................................................................. [RUN]
airbyte-worker | 2023-01-04 10:53:59 normalization > 2 of 3 ERROR creating table model main.purchases........................................................................ [ERROR in 0.18s]
airbyte-worker | 2023-01-04 10:53:59 normalization > 3 of 3 START table model main.users..................................................................................... [RUN]
airbyte-worker | 2023-01-04 10:53:59 normalization > 3 of 3 ERROR creating table model main.users............................................................................ [ERROR in 0.20s]
airbyte-worker | 2023-01-04 10:53:59 normalization > Finished running 3 table models in 2.77s.
airbyte-worker | 2023-01-04 10:53:59 normalization > Completed with 3 errors and 0 warnings:
airbyte-worker | 2023-01-04 10:53:59 normalization > Runtime Error in model products (models/generated/airbyte_tables/main/products.sql)
airbyte-worker | 2023-01-04 10:53:59 normalization > Catalog Error: Table with name _airbyte_raw_products does not exist!
airbyte-worker | 2023-01-04 10:53:59 normalization > Did you mean "sqlite_master"?
airbyte-worker | 2023-01-04 10:53:59 normalization > Runtime Error in model purchases (models/generated/airbyte_tables/main/purchases.sql)
airbyte-worker | 2023-01-04 10:53:59 normalization > Catalog Error: Table with name _airbyte_raw_purchases does not exist!
airbyte-worker | 2023-01-04 10:53:59 normalization > Did you mean "sqlite_temp_schema"?
airbyte-worker | 2023-01-04 10:53:59 normalization > Runtime Error in model users (models/generated/airbyte_tables/main/users.sql)
airbyte-worker | 2023-01-04 10:53:59 normalization > Catalog Error: Table with name _airbyte_raw_users does not exist!
airbyte-worker | 2023-01-04 10:53:59 normalization > Did you mean "sqlite_master"?
airbyte-worker | 2023-01-04 10:53:59 normalization > Done. PASS=0 WARN=0 ERROR=3 SKIP=0 TOTAL=3
airbyte-worker | 2023-01-04 10:53:59 normalization > WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
airbyte-worker | 2023-01-04 10:53:59 INFO i.a.w.g.DefaultNormalizationWorker(run):82 - Normalization executed in 1 minute 9 seconds.
airbyte-worker | 2023-01-04 10:53:59 ERROR i.a.w.g.DefaultNormalizationWorker(run):90 - Normalization Failed.
airbyte-worker | 2023-01-04 10:53:59 INFO i.a.w.g.DefaultNormalizationWorker(run):95 - Normalization summary: io.airbyte.config.NormalizationSummary@536822dc[startTime=1672829569837,endTime=1672829639447,failures=[io.airbyte.config.FailureReason@63f52866[failureOrigin=normalization,failureType=system_error,internalMessage=Catalog Error:
Full Log: a2cc2136_b476_493d_bb79_a034778885ec_logs_5_txt.txt
According to @edgao this is a sign that Normalization can't read the file. @evantahler do you know if that is possible?
Otherwise I will disable normalization for now and prepare the PR to do raw tables only without normalization.
@sspaeti I think the capitalization is getting you in trouble. MacOS filesystems are case-insensitive, most linux filesystems are not. It looks like you are using source-faker
. What version are you on? V2.0.0+ should have lower-case names for everything. Try refreshing your source schema
Wow, dbt run
and normalization finally worked. Thanks so much Evan.
I used version 1.6 of Faker, I updated to 2.0, but the error was the same.
The problem was dbt used the wrong config, instead of destination_path
which I used for the destination-duckdb, it must be path
for profiles.yml
in normalization:
After that, I had to fix a small null handling, but then it worked!!! 🎉
Affected Connector Report
NOTE ⚠️ Changes in this PR affect the following connectors. Make sure to do the following as needed:
- Run integration tests
- Bump connector or module version
- Add changelog
- Publish the new version
✅ Sources (0)
Connector | Version | Changelog | Publish |
---|
- See "Actionable Items" below for how to resolve warnings and errors.
❌ Destinations (16)
Connector | Version | Changelog | Publish |
---|---|---|---|
destination-bigquery |
1.2.13 |
✅ | ✅ |
destination-bigquery-denormalized |
1.2.12 |
✅ | ❌ (diff seed version) |
destination-clickhouse |
0.2.2 |
❌ (changelog missing) |
✅ |
destination-clickhouse-strict-encrypt |
0.2.2 |
🔵 (ignored) |
🔵 (ignored) |
destination-jdbc |
0.3.14 |
🔵 (ignored) |
🔵 (ignored) |
destination-mssql |
0.1.22 |
✅ | ✅ |
destination-mssql-strict-encrypt |
0.1.22 |
🔵 (ignored) |
🔵 (ignored) |
destination-mysql |
0.1.20 |
✅ | ✅ |
destination-mysql-strict-encrypt |
❌ 0.1.21 (mismatch: 0.1.20 ) |
🔵 (ignored) |
🔵 (ignored) |
destination-oracle |
0.1.19 |
✅ | ✅ |
destination-oracle-strict-encrypt |
0.1.19 |
🔵 (ignored) |
🔵 (ignored) |
destination-postgres |
0.3.26 |
✅ | ✅ |
destination-postgres-strict-encrypt |
0.3.26 |
🔵 (ignored) |
🔵 (ignored) |
destination-redshift |
0.3.56 |
✅ | ✅ |
destination-snowflake |
0.4.47 |
✅ | ✅ |
destination-tidb |
0.1.0 |
✅ | ✅ |
- See "Actionable Items" below for how to resolve warnings and errors.
👀 Other Modules (1)
- base-normalization
Actionable Items
(click to expand)
Category | Status | Actionable Item |
---|---|---|
Version | ❌ mismatch |
The version of the connector is different from its normal variant. Please bump the version of the connector. |
⚠ doc not found |
The connector does not seem to have a documentation file. This can be normal (e.g. basic connector like source-jdbc is not published or documented). Please double-check to make sure that it is not a bug. |
|
Changelog | ⚠ doc not found |
The connector does not seem to have a documentation file. This can be normal (e.g. basic connector like source-jdbc is not published or documented). Please double-check to make sure that it is not a bug. |
❌ changelog missing |
There is no chnagelog for the current version of the connector. If you are the author of the current version, please add a changelog. | |
Publish | ⚠ not in seed |
The connector is not in the seed file (e.g. source_definitions.yaml ), so its publication status cannot be checked. This can be normal (e.g. some connectors are cloud-specific, and only listed in the cloud seed file). Please double-check to make sure that it is not a bug. |
❌ diff seed version |
The connector exists in the seed file, but the latest version is not listed there. This usually means that the latest version is not published. Please use the /publish command to publish the latest version. |
Make sure your logo is a square SVG please. Add padding around the image if needed
Good to know, changed it to square.
After merging the latest master
into my branch, unfortunately, it does not work any longer.
Problem with:
airbyte-worker | 2023-01-09 07:14:40 ERROR i.a.w.g.DefaultNormalizationWorker(run):83 - Normalization failed for job 4.
airbyte-worker | java.lang.NullPointerException: Cannot invoke "String.toLowerCase()" because "this.normalizationIntegrationType" is null
airbyte-worker | at io.airbyte.workers.normalization.DefaultNormalizationRunner.normalize(DefaultNormalizationRunner.java:111) ~[io.airbyte-airbyte-commons-worker-0.40.27.jar:?]
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:77) ~[io.airbyte-airbyte-commons-worker-0.40.27.jar:?]
airbyte-worker | at io.airbyte.workers.general.DefaultNormalizationWorker.run(DefaultNormalizationWorker.java:34) ~[io.airbyte-airbyte-commons-worker-0.40.27.jar:?]
airbyte-worker | at io.airbyte.workers.temporal.TemporalAttemptExecution.lambda$getWorkerThread$5(TemporalAttemptExecution.java:195) ~[io.airbyte-airbyte-workers-0.40.27.jar:?]
airbyte-worker | at java.lang.Thread.run(Thread.java:1589) ~[?:?]
and the build:
> Task :airbyte-workers:compileTestJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
> Task :airbyte-config:init:test
SpecFormatTest > testOnAllExistingConfig() FAILED
java.lang.AssertionError:
Expecting empty but was: [java.lang.RuntimeException: Fail JsonSecretsProcessor validation
at io.airbyte.config.init.SpecFormatTest.lambda$testOnAllExistingConfig$3(SpecFormatTest.java:45)
at org.assertj.core.api.iterable.ThrowingExtractor.apply(ThrowingExtractor.java:36)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
...(96 remaining lines not displayed - this can be changed with Assertions.setMaxStackTraceElementsDisplayed)]
at io.airbyte.config.init.SpecFormatTest.testOnAllExistingConfig(SpecFormatTest.java:54)
I saw that normalization got some refactoring with Remove NormalizationRunnerFactor/, therefore I added the normalization config new to https://github.com/airbytehq/airbyte/pull/17494/files#diff-cf6d9c25b8431c548f892f1628738b7906118ee3be857d15be354119a8130f0f, which most probably causes the error?
Any hint on how to resolve that would be super helpful. As said, without these refactoring it worked, meaning one step might be missing for the duckdb refactoring.
FullLog: b295da17_db9d_43cf_9d17_ec7712374b40_logs_4_txt.txt
ReleaseStage
Also on a side note: When I start airbyte locally with:
SUB_BUILD=PLATFORM ./gradlew build
VERSION=dev docker-compose up
I see two duckdb version:
I'm using the dev
version. When I merge, is it correct, that my dev version will be running as alpha as defined in destination_definitions.yaml
as releaseStage
?
After modifying the normalization config, you will need to both rebuild the platform and reboot your docker deployment. The bootloader will update your local database and then it should work.
After modifying the normalization config, you will need to both rebuild the platform and reboot your docker deployment. The bootloader will update your local database and then it should work.
Thanks so much; unfortunately, I still have the same error java.lang.NullPointerException: Cannot invoke "String.toLowerCase()" because "this.normalizationIntegrationType" is null
after restarting docker and airbyte.
@andriikorotkov or @pedroslopez, do you have any hint why https://github.com/airbytehq/airbyte/pull/17494#issuecomment-1375284633 should not work, or I'm getting this error? It worked with my old configurations from October on my branch.
In the meantime, I saw these two PRs that probably affected normalization: https://github.com/airbytehq/airbyte/pull/20245 and https://github.com/airbytehq/airbyte/pull/20573. If I'm wrong, please tell me. But I'm close to finalizing but I guess it's a problem that is beyond my knowledge as I'm not sure what changed in normalization. Thanks so much.
Ready for Review
After adding the missing properties
from spec.json to destination_specs.yaml
solved the problem, see the commit here.
Then Normalization succeeded:
Destination:
Success Sync in Airbyte:
As well I see the rows in the raw and normalized tables:
/tmp/airbyte_local/duck
❯ duckdb dest.duckdb
v0.6.0 2213f9c946
Enter ".help" for usage hints.
D select count(*) from main._airbyte_raw_Products;
┌──────────────┐
│ count_star() │
│ int64 │
├──────────────┤
│ 100 │
└──────────────┘
D select * from information_schema."tables";
┌───────────────┬──────────────┬──────────────────────┬────────────┬───┬──────────────────────┬────────────────────┬──────────┬───────────────┐
│ table_catalog │ table_schema │ table_name │ table_type │ … │ user_defined_type_… │ is_insertable_into │ is_typed │ commit_action │
│ int32 │ varchar │ varchar │ varchar │ │ int32 │ varchar │ varchar │ varchar │
├───────────────┼──────────────┼──────────────────────┼────────────┼───┼──────────────────────┼────────────────────┼──────────┼───────────────┤
│ │ main │ purchases │ BASE TABLE │ … │ │ YES │ NO │ │
│ │ main │ _airbyte_raw_purch… │ BASE TABLE │ … │ │ YES │ NO │ │
│ │ main │ _airbyte_raw_users │ BASE TABLE │ … │ │ YES │ NO │ │
│ │ main │ _airbyte_raw_produ… │ BASE TABLE │ … │ │ YES │ NO │ │
│ │ main │ products │ BASE TABLE │ … │ │ YES │ NO │ │
│ │ main │ users │ BASE TABLE │ … │ │ YES │ NO │ │
├───────────────┴──────────────┴──────────────────────┴────────────┴───┴──────────────────────┴────────────────────┴──────────┴───────────────┤
│ 6 rows 12 columns (8 shown) │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
D select count(*) from products;
┌──────────────┐
│ count_star() │
│ int64 │
├──────────────┤
│ 100 │
└──────────────┘
@edgao I finished the code review:
🎉 this is exciting! I left a number of comments. They're mostly nitpicky, but the stuff in destination.py is maybe actually important. But feel free to tell me I don't know what I'm talking about, you're the expert on this destination :)
Thank so much for your thoughtful review. I checked all cases, improved where possible, tested some things, and had to revert (all in the conversations/threads above). Now I have a working copy again with your changes. IMO it's ready to merge.
Also - when you run the integration tests locally, does it generate any sql files in normalization_test_output? (iirc it should, and you should commit those as well)
There is, but there are only two files normalization_test_output/duckdb/test_nested_streams/dbt_project.yml
and normalization_test_output/duckdb/test_simple_streams/dbt_project.yml
. Hope that's ok.
Airbyte Code Coverage
There is no coverage information present for the Files changed
Total Project Coverage | 24.53% | :x: |
---|
There's a couple conflicting files but overall looks good. I don't see any things that I would follow up on aside from the DESTINATION_SIZE_LIMIT
you mentioned before
@marcosmarxm is there anything else that I should look out for when it comes to certifying a connector? This would be the first time I've done such a review and mostly been following the building a python destination documentation
For instance, would we need to set up the integration tests internally or does the build passing give that sanity check?