Fabrizio Spini
12/15/2025, 11:16 AMDefaulted container "connector-sidecar" out of: connector-sidecar, main, init (init)
Unsetting empty environment variable 'DATA_PLANE_SERVICE_ACCOUNT_CREDENTIALS_PATH'
Unsetting empty environment variable 'AIRBYTE_URL'
Unsetting empty environment variable 'KEYCLOAK_INTERNAL_REALM_ISSUER'
Unsetting empty environment variable 'DATA_PLANE_SERVICE_ACCOUNT_EMAIL'
Unsetting empty environment variable 'KEYCLOAK_CLIENT_ID'
Unsetting empty environment variable 'AIRBYTE_ROLE'
Unsetting empty environment variable 'CONTROL_PLANE_AUTH_ENDPOINT'
2025-12-15 10:46:46,950 [main] INFO i.a.c.ApplicationKt(main):14 - Sidecar start
___ _ __ __
/ | (_)____/ /_ __ __/ /____
/ /| | / / ___/ __ \/ / / / __/ _ \
/ ___ |/ / / / /_/ / /_/ / /_/ __/
/_/ |_/_/_/ /_.___/\__, /\__/\___/
/____/
: airbyte-connector-sidecar :
2025-12-15 10:46:48,334 [main] INFO i.m.c.e.DefaultEnvironment(<init>):170 - Established active environments: [worker-v2, k8s, control-plane, edition-community, local-secrets]
2025-12-15 10:46:49,003 [main] INFO i.m.l.PropertiesLoggingLevelsConfigurer(configureLogLevelForPrefix):113 - Setting log level 'INFO' for logger: 'io.netty'
2025-12-15 10:46:49,004 [main] INFO i.m.l.PropertiesLoggingLevelsConfigurer(configureLogLevelForPrefix):113 - Setting log level 'ERROR' for logger: 'com.zaxxer.hikari'
2025-12-15 10:46:49,004 [main] INFO i.m.l.PropertiesLoggingLevelsConfigurer(configureLogLevelForPrefix):113 - Setting log level 'INFO' for logger: 'io.grpc'
2025-12-15 10:46:49,005 [main] INFO i.m.l.PropertiesLoggingLevelsConfigurer(configureLogLevelForPrefix):113 - Setting log level 'INFO' for logger: 'io.temporal'
2025-12-15 10:46:49,006 [main] INFO i.m.l.PropertiesLoggingLevelsConfigurer(configureLogLevelForPrefix):113 - Setting log level 'ERROR' for logger: 'com.zaxxer.hikari.pool'
2025-12-15 10:46:49,006 [main] INFO i.m.l.PropertiesLoggingLevelsConfigurer(configureLogLevelForPrefix):113 - Setting log level 'INFO' for logger: 'io.fabric8.kubernetes.client'
2025-12-15 10:46:49,037 [main] INFO i.m.r.Micronaut(start):183 - No embedded container found. Running as CLI application
2025-12-15 10:46:52,573 [pool-3-thread-1] INFO i.a.c.i.LineGobbler$Companion(gobble$lambda$2):108 -
2025-12-15 10:46:52,609 [pool-3-thread-1] INFO i.a.c.i.LineGobbler$Companion(gobble$lambda$2):108 - ----- START SPEC -----
2025-12-15 10:46:52,610 [pool-3-thread-1] INFO i.a.c.i.LineGobbler$Companion(gobble$lambda$2):108 -
2025-12-15 10:55:52,599 [main] WARN i.a.c.ConnectorWatcher(waitForConnectorOutput):108 - Failed to find output files from connector within timeout of 9 minute(s). Is the connector still running?
2025-12-15 10:55:52,622 [main] INFO i.a.c.ConnectorWatcher(failWorkload):324 - Failing workload e668e35b-1934-4c24-913c-133c3f3312b6_spec.
2025-12-15 10:55:52,687 [main] INFO i.a.c.ConnectorWatcher(exitFileNotFound):242 - Deliberately exiting process with code 2.kapa.ai
12/15/2025, 11:16 AMSPEC output file: > Failed to find output files from connector within timeout of 9 minute(s). Is the connector still running? > Failing workload ..._spec. This is the same behavior described in: - The MySQL check job issue, where the job hangs then fails with the same 9‑minute timeout for connector output [[MySQL 3.11.0 issue](https://github.com/airbytehq/airbyte/issues/52075)]. - The generic sidecar timeout issue, where SIDECAR_FILE_TIMEOUT_MINUTES is fixed at 9 minutes and causes long operations (e.g. BigQuery discover) to fail [[Sidecar timeout config](https://github.com/airbytehq/airbyte/issues/48855)]. In both cases, the root symptom is: the connector container never produces the expected output file (here, SPEC) within the sidecar’s hardcoded 9‑minute timeout, so the sidecar fails the workload. From the available sources: - The timeout is controlled by SIDECAR_FILE_TIMEOUT_MINUTES (and SIDECAR_FILE_TIMEOUT_WITHIN_SYNC_MINUTES), which are not currently exposed via Helm or standard configuration; users who need longer timeouts are building a custom connector-sidecar image with higher values. [[Sidecar timeout config](https://github.com/airbytehq/airbyte/issues/48855)] - There is no specific information in the sources about MySQL 3.46.2 in particular, only about 3.11.0 and older MySQL versions, and no explicit fix for this behavior. [[MySQL 3.11.0 issue](https://github.com/airbytehq/airbyte/issues/52075)] Given that, the knowledge sources support only these actionable options: 1. Try another MySQL connector version known to work in your environment. In the referenced issue, downgrading from 3.11.0 to 3.5.1 resolved the check job hang. [[MySQL 3.11.0 issue](https://github.com/airbytehq/airbyte/issues/52075)] 2. Increase the sidecar timeout by using a custom sidecar image (if you control the deployment images), e.g. building from the official sidecar image with higher SIDECAR_FILE_TIMEOUT_MINUTES / SIDECAR_FILE_TIMEOUT_WITHIN_SYNC_MINUTES, as described in the workaround: [[Sidecar timeout config](https://github.com/airbytehq/airbyte/issues/48855)] dockerfile FROM airbyte/connector-sidecar:<your-airbyte-version> ENV SIDECAR_FILE_TIMEOUT_MINUTES=30 ENV SIDECAR_FILE_TIMEOUT_WITHIN_SYNC_MINUTES=60 3. Inspect the connector container logs directly. The provided sources only show sidecar logs; they don’t include guidance on how to debug the connector container itself in this specific case. I’m sorry, but there’s no information in the sources about specific MySQL 3.46.2 failures beyond the sidecar timeout symptom. Because the knowledge sources don’t contain anything more specific about version 3.46.2 or a targeted fix for this exact downgrade scenario, I can’t confidently give a more precise root cause than: the MySQL connector did not emit its SPEC output within the sidecar’s 9‑minute timeout, causing the job to fail.Fabrizio Spini
12/15/2025, 11:18 AMkapa.ai
12/15/2025, 11:18 AMkapa.ai
12/15/2025, 11:18 AMkubectl as described in the docs. 1. Find the pod name (usually in the jobs namespace for workers): bash kubectl get pods -n jobs Look for a pod name matching your job, e.g. source-mysql-worker-<job-id>-0-xxxxx. 2. Stream the logs from the connector container (the main container is usually named main): bash kubectl logs -n jobs <pod-name> -c main 3. Open a shell inside the connector container and browse files (e.g. /config): bash kubectl exec -it <pod-name> -n jobs -c main bash # then inside the pod: ls /config 4. Copy files (like configs or catalogs) from the pod to your local machine if needed: bash kubectl cp jobs/<pod-name>:/config/destination_catalog.json ./catalog.json These patterns are documented for browsing worker pods and their /config contents on Kubernetes.[\[Browsing logs\]](https://docs.airbyte.com/platform/operator-guides/browsing-output-logs#browsing-on-kubernetes)Fabrizio Spini
12/15/2025, 11:22 AMairbyte@airbyte-dump:~$ sudo docker exec -it airbyte-abctl-control-plane kubectl -n airbyte-abctl get pods
NAME READY STATUS RESTARTS AGE
airbyte-abctl-bootloader 0/1 Completed 0 73d
airbyte-abctl-connector-builder-server-6d97549f58-h2zld 1/1 Running 1 (41d ago) 73d
airbyte-abctl-cron-746c86669-2qxk4 1/1 Running 1 (41d ago) 73d
airbyte-abctl-server-dc4db98fb-6t97j 1/1 Running 2 (41d ago) 73d
airbyte-abctl-temporal-68f545669c-6kpph 1/1 Running 1 (41d ago) 73d
airbyte-abctl-worker-79c8b4bbb6-r5lbd 1/1 Running 1 (41d ago) 73d
airbyte-abctl-workload-api-server-7bc4b4f685-77f24 1/1 Running 1 (41d ago) 73d
airbyte-abctl-workload-launcher-c95f87dd5-rmqpn 1/1 Running 2 (41d ago) 73d
airbyte-db-0 1/1 Running 1 (41d ago) 73d
airbyte-minio-0 1/1 Running 1 (41d ago) 73d
source-mysql-spec-b025516c-3650-4b16-8497-f31ad5ec860b-0-jrunp 0/2 Error 0 19m
source-mysql-spec-bf106cb6-1f1e-4e6d-9ec6-7faa0af789eb-0-dozxl 0/2 Error 0 32m
source-mysql-spec-c216d0ea-8c22-4468-8b60-5150bf7f7ff1-0-wsmdo 0/2 Error 0 26m
source-mysql-spec-d8148311-5794-4a89-9ca1-1779d7f924a4-0-hnthu 0/2 Error 0 29m
source-mysql-spec-e668e35b-1934-4c24-913c-133c3f3312b6-0-ujkzl 0/2 Error 0 33m
airbyte@airbyte-dump:~$ sudo docker exec -it airbyte-abctl-control-plane kubectl -n airbyte-abctl get pods -n jobs
No resources found in jobs namespace.
airbyte@airbyte-dump:~$ sudo docker exec -it airbyte-abctl-control-plane kubectl -n jobs get pods
No resources found in jobs namespace.kapa.ai
12/15/2025, 11:22 AMkapa.ai
12/15/2025, 11:22 AMabctl-based local deployment, your Airbyte control-plane and all namespaces live inside the airbyte-abctl-control-plane container. You’re already using the right pattern (wrapping kubectl with docker exec), but there are two key points: 1. The connector job pods are in the airbyte-abctl namespace, not jobs. This matches what the docs show for viewing pods with abctl (no separate jobs namespace is used there). [[Developing locally 1.8](https://docs.airbyte.com/platform/1.8/contributing-to-airbyte/developing-locally#prerequisites)] 2. To see logs of a failing spec pod, you must: - Use the correct namespace (airbyte-abctl) - Target the right container in the pod (main for the connector, connector-sidecar for the sidecar). Given your output, here’s exactly what to run from the host: bash # 1. List pods in the airbyte-abctl namespace (you already did this): sudo docker exec -it airbyte-abctl-control-plane \ kubectl -n airbyte-abctl get pods # 2. Get logs from the connector container ("main") for one of the failing spec pods: sudo docker exec -it airbyte-abctl-control-plane \ kubectl -n airbyte-abctl logs source-mysql-spec-e668e35b-1934-4c24-913c-133c3f3312b6-0-ujkzl -c main # 3. (Optional) Get logs from the sidecar in the same pod: sudo docker exec -it airbyte-abctl-control-plane \ kubectl -n airbyte-abctl logs source-mysql-spec-e668e35b-1934-4c24-913c-133c3f3312b6-0-ujkzl -c connector-sidecar To open a shell in the connector container (to inspect /config, etc.), adapt the standard Kubernetes pattern [[Browsing logs](https://docs.airbyte.com/platform/operator-guides/browsing-output-logs#browsing-on-kubernetes)]: bash sudo docker exec -it airbyte-abctl-control-plane \ kubectl -n airbyte-abctl exec -it source-mysql-spec-e668e35b-1934-4c24-913c-133c3f3312b6-0-ujkzl -c main -- bash From there you can ls /config, inspect files, etc. If kubectl still reports “No resources found in jobs namespace”, that’s expected: abctl deployments use the airbyte-abctl namespace, not jobs. [[Developing locally 1.8](https://docs.airbyte.com/platform/1.8/contributing-to-airbyte/developing-locally#prerequisites)]Fabrizio Spini
12/15/2025, 11:23 AMairbyte@airbyte-dump:~$ sudo docker exec -it airbyte-abctl-control-plane \
kubectl -n airbyte-abctl exec -it source-mysql-spec-e668e35b-1934-4c24-913c-133c3f3312b6-0-ujkzl -c main -- bash
error: Internal error occurred: unable to upgrade connection: container not found ("main")kapa.ai
12/15/2025, 11:23 AMkapa.ai
12/15/2025, 11:24 AMmain, which is why kubectl reports container not found ("main"). From the logs you originally pasted, we know there is a connector-sidecar container, and the issue description you shared shows that pods can have both main and connector-sidecar, but in your case only the sidecar appears to be present/visible. [[Custom source issue](https://github.com/airbytehq/airbyte/issues/68608)] The Airbyte docs only give the generic pattern for browsing a pod, not the exact container names; they use -c main as an example, but note that you must supply the actual container name in your pod. [[Browsing logs](https://docs.airbyte.com/platform/operator-guides/browsing-output-logs#browsing-on-kubernetes)] Given the information available, here’s what you can do inside the airbyte-abctl-control-plane container: 1. List containers for that pod to see the exact names: bash sudo docker exec -it airbyte-abctl-control-plane \ kubectl -n airbyte-abctl get pod source-mysql-spec-e668e35b-1934-4c24-913c-133c3f3312b6-0-ujkzl -o jsonpath='{.spec.containers[*].name}' 2. Once you see the container names, use one of them with kubectl logs / kubectl exec. For example, if the only container is `connector-sidecar`: bash sudo docker exec -it airbyte-abctl-control-plane \ kubectl -n airbyte-abctl logs source-mysql-spec-e668e35b-1934-4c24-913c-133c3f3312b6-0-ujkzl -c connector-sidecar and, if the connector container has some other name (e.g. source-mysql): bash sudo docker exec -it airbyte-abctl-control-plane \ kubectl -n airbyte-abctl exec -it source-mysql-spec-e668e35b-1934-4c24-913c-133c3f3312b6-0-ujkzl -c <that-container-name> -- bash The docs don’t list container names for spec/check pods explicitly, nor do they cover the failure mode where the main container is missing and only the sidecar starts. I’m therefore limited to this general `kubectl`‑based inspection approach and can’t provide a more specific container name from the knowledge sources.Fabrizio Spini
12/15/2025, 11:25 AMairbyte@airbyte-dump:~$ sudo docker exec -it airbyte-abctl-control-plane \
kubectl -n airbyte-abctl get pod source-mysql-spec-e668e35b-1934-4c24-913c-133c3f3312b6-0-ujkzl -o jsonpath='{.spec.containers[*].name}'
airbyte@airbyte-dump:~$ sudo docker exec -it airbyte-abctl-control-plane \-abctl-control-plane \
kubectl -n airbyte-abctl logs source-mysql-spec-e668e35b-1934-4c24-913c-133c3f3312b6-0-ujkzl -c connector-sidecar
Unsetting empty environment variable 'DATA_PLANE_SERVICE_ACCOUNT_CREDENTIALS_PATH'
Unsetting empty environment variable 'AIRBYTE_URL'
Unsetting empty environment variable 'KEYCLOAK_INTERNAL_REALM_ISSUER'
Unsetting empty environment variable 'DATA_PLANE_SERVICE_ACCOUNT_EMAIL'
Unsetting empty environment variable 'KEYCLOAK_CLIENT_ID'
Unsetting empty environment variable 'AIRBYTE_ROLE'
Unsetting empty environment variable 'CONTROL_PLANE_AUTH_ENDPOINT'
2025-12-15 10:46:46,950 [main] INFO i.a.c.ApplicationKt(main):14 - Sidecar start
___ _ __ __
/ | (_)____/ /_ __ __/ /____
/ /| | / / ___/ __ \/ / / / __/ _ \
/ ___ |/ / / / /_/ / /_/ / /_/ __/
/_/ |_/_/_/ /_.___/\__, /\__/\___/
/____/
: airbyte-connector-sidecar :
2025-12-15 10:46:48,334 [main] INFO i.m.c.e.DefaultEnvironment(<init>):170 - Established active environments: [worker-v2, k8s, control-plane, edition-community, local-secrets]
2025-12-15 10:46:49,003 [main] INFO i.m.l.PropertiesLoggingLevelsConfigurer(configureLogLevelForPrefix):113 - Setting log level 'INFO' for logger: 'io.netty'
2025-12-15 10:46:49,004 [main] INFO i.m.l.PropertiesLoggingLevelsConfigurer(configureLogLevelForPrefix):113 - Setting log level 'ERROR' for logger: 'com.zaxxer.hikari'
2025-12-15 10:46:49,004 [main] INFO i.m.l.PropertiesLoggingLevelsConfigurer(configureLogLevelForPrefix):113 - Setting log level 'INFO' for logger: 'io.grpc'
2025-12-15 10:46:49,005 [main] INFO i.m.l.PropertiesLoggingLevelsConfigurer(configureLogLevelForPrefix):113 - Setting log level 'INFO' for logger: 'io.temporal'
2025-12-15 10:46:49,006 [main] INFO i.m.l.PropertiesLoggingLevelsConfigurer(configureLogLevelForPrefix):113 - Setting log level 'ERROR' for logger: 'com.zaxxer.hikari.pool'
2025-12-15 10:46:49,006 [main] INFO i.m.l.PropertiesLoggingLevelsConfigurer(configureLogLevelForPrefix):113 - Setting log level 'INFO' for logger: 'io.fabric8.kubernetes.client'
2025-12-15 10:46:49,037 [main] INFO i.m.r.Micronaut(start):183 - No embedded container found. Running as CLI application
2025-12-15 10:46:52,573 [pool-3-thread-1] INFO i.a.c.i.LineGobbler$Companion(gobble$lambda$2):108 -
2025-12-15 10:46:52,609 [pool-3-thread-1] INFO i.a.c.i.LineGobbler$Companion(gobble$lambda$2):108 - ----- START SPEC -----
2025-12-15 10:46:52,610 [pool-3-thread-1] INFO i.a.c.i.LineGobbler$Companion(gobble$lambda$2):108 -
2025-12-15 10:55:52,599 [main] WARN i.a.c.ConnectorWatcher(waitForConnectorOutput):108 - Failed to find output files from connector within timeout of 9 minute(s). Is the connector still running?
2025-12-15 10:55:52,622 [main] INFO i.a.c.ConnectorWatcher(failWorkload):324 - Failing workload e668e35b-1934-4c24-913c-133c3f3312b6_spec.
2025-12-15 10:55:52,687 [main] INFO i.a.c.ConnectorWatcher(exitFileNotFound):242 - Deliberately exiting process with code 2.kapa.ai
12/15/2025, 11:25 AMkapa.ai
12/15/2025, 11:25 AMSPEC workload, and after 9 minutes fails because it never sees the connector’s output file: text ----- START SPEC ----- ... Failed to find output files from connector within timeout of 9 minute(s). Is the connector still running? ... Failing workload e668e35b-1934-4c24-913c-133c3f3312b6_spec. ... Deliberately exiting process with code 2. This is exactly the behavior described in the GitHub issues where: - The sidecar waits for connector output and then times out after 9 minutes with the same warning and exit code 2.[[MySQL 3.11.0 issue](https://github.com/airbytehq/airbyte/issues/52075); [Zendesk timeout](https://github.com/airbytehq/airbyte/issues/54684)] - The timeout is controlled by SIDECAR_FILE_TIMEOUT_MINUTES (and SIDECAR_FILE_TIMEOUT_WITHIN_SYNC_MINUTES), which are not configurable via Helm; the documented workaround is to build a custom connector-sidecar image with higher values.[[Sidecar timeout config](https://github.com/airbytehq/airbyte/issues/48855)] From the knowledge sources, you have two levers: 1. Connector behavior / version In at least one case, downgrading the MySQL connector from a problematic version (3.11.0) to an older one made the check job complete successfully.[[MySQL 3.11.0 issue](https://github.com/airbytehq/airbyte/issues/52075)] The sources don’t mention 3.46.2 specifically, so I cannot say whether that version is expected to work or not. 2. Sidecar timeout You can extend the 9‑minute timeout by building a custom sidecar image, as shown in the documented workaround:[[Sidecar timeout config](https://github.com/airbytehq/airbyte/issues/48855)] dockerfile FROM airbyte/connector-sidecar:1.2.0 # replace with your sidecar tag ENV SIDECAR_FILE_TIMEOUT_MINUTES=30 ENV SIDECAR_FILE_TIMEOUT_WITHIN_SYNC_MINUTES=60 Then configure your deployment to use this custom sidecar image. The docs do not specify how to wire this custom image into `abctl`‑managed deployments, so I can’t give exact commands for that part. Because the sources: - Do not show logs from the connector container itself for your pod, and - Do not describe how to adjust the sidecar image or env vars specifically in an abctl (kind) deployment, I can’t reliably provide a more detailed fix than: - The spec job fails because the MySQL connector never writes its SPEC output within the sidecar’s 9‑minute timeout. - Your next steps, based on the available docs, are to either: - Try a different MySQL connector version; or - Increase the sidecar timeout via a custom sidecar image as per the documented workaround.