Mehmet Akif Magol
05/08/2026, 9:55 PMairbyte/source-mssql:4.1.22
• Destination: airbyte/destination-snowflake:3.15.4
• Sync mode: Incremental | Append + Deduped
• Frequency: every 15 minutes
• Cursor field: UpdatedDateTime (SQL Server DATETIME, ~3.33 ms precision, stored in UTC)
• Primary key: Id (BIGINT IDENTITY)
• Both SQL Server UpdatedDateTime and the Airbyte cluster are UTC, no timezone mismatch
Problem:
Most rows sync correctly, but occasionally rows are missed entirely — sometimes by 2+ days. The source UpdatedDateTime shows the row was updated, but Snowflake (both raw and final tables) never received the new version. Sync jobs themselves complete with failures: [ ] and no errors. The cursor advances normally.
What I've ruled out:
• Not a sync failure — jobs succeed cleanly
• Not a timezone issue — both sides are UTC
• Not the UpdatedDateTime not being maintained — confirmed updated values exist in source
• Not a dedup problem — checked the raw table, the new row version was never extracted
Hypothesis:
Classic transaction visibility skew — long-running transactions stamp UpdatedDateTime at UPDATE time but commit later, after the cursor has already advanced past that timestamp. The row becomes permanently invisible to incremental sync because UpdatedDateTime <= cursor on subsequent runs.
Constraints:
• Can't enable CDC right now (need DBA coordination + change window)
• Looking for a lookback / overlap window approach but don't see a native option in source-mssql
Questions:
1. Has anyone hit this with source-mssql + DATETIME cursor? Was transaction commit skew the actual cause?
2. Is there a supported way to configure a cursor lookback window I'm missing?
3. For those who've gone the cursor-rewind route (modifying the state table directly), any gotchas with recent Airbyte versions?
4. Any other proven mitigations short of CDC?
Thanks in advance 🙏abdalrahman bebars
05/11/2026, 11:02 AMDiana Kot
05/13/2026, 8:29 AMThomas
05/13/2026, 9:55 AMt4g.xlarge using : abctl local install --host <http://data-airbyte.acme.fr|data-airbyte.acme.fr> --insecure-cookies --no-browser
CLI OK without error :
SUCCESS Installed Helm Chart airbyte/airbyte:
Name: airbyte-abctl
Namespace: airbyte-abctl
Version: 2.1.0
AppVersion: 2.1.0
Release: 1
INFO Starting Helm Chart installation of 'nginx/ingress-nginx' (version: 4.15.1)
SUCCESS Installed Helm Chart nginx/ingress-nginx:
Name: ingress-nginx
Namespace: ingress-nginx
Version: 4.15.1
AppVersion: 1.15.1
Release: 1
INFO No existing Ingress found, creating one
SUCCESS Ingress created
SUCCESS Launching web-browser disabled. Airbyte should be accessible at
<http://localhost:8000>
SUCCESS Airbyte installation complete.
A password may be required to login. The password can by found by running
the command abctl local credentials
Using Firefox, when navigating to <http://data-airbyte.acme.com> I'm using password from abctl local credentials to be authenticated using HTTP Basic Auth (no username).
Not sure that is related, but I can see one HTTP error : POST http://data-airbyte.acme.com:8000/api/oauth/access_token
{
"error_description": "refresh_token and grant_type are required",
"error": "invalid_request"
}
Of course, port 8000 is open to EC2 instance.
Do you have any clue ?Austin Fay
05/13/2026, 4:27 PMPrem Kumar
05/18/2026, 9:14 AM2026-05-18 14:00:02 platform INFO [source] image: airbyte/source-file:0.6.0 resources: ResourceRequirements(limits={memory=4Gi, cpu=4}, requests={memory=1Gi, cpu=1})
2026-05-18 14:00:02 platform INFO [destination] image: airbyte/destination-databricks:3.3.8 resources: ResourceRequirements(limits={memory=4Gi, cpu=4}, requests={memory=1Gi, cpu=1})
The sync starts fine, but as soon as it begins the
CREATE TABLE and JDBC operations, the logs just cut off:
Plaintext
2026-05-18 14:00:31 destination INFO sync-operations-1 ... default.test-new-file: non-truncate sync. Creating raw table if not exists.
2026-05-18 14:00:31 destination INFO sync-operations-1 ... Executing sql ... [CREATE TABLE IF NOT EXISTS airbyte_catalog.vanij.default_raw__stream_test_new_file ...
2026-05-18 14:00:32 destination INFO sync-operations-1 i.a.c.d.j.JdbcDatabase(execute$la...
I checked the previous connection checks and they passed, so the credentials are correct. It only seems to die when the actual data movement/table creation starts.
Is there a way to verify if this is an OOM kill on the pod?
Any help would be appreciated!john roger
05/20/2026, 1:50 PMPassarelli
05/23/2026, 2:57 PMSaved offset is before replication slot's confirmed lsn. Please reset the connection, and then increase WAL retention and/or increase sync frequency to prevent this from happening in the future.
Connector:`source-postgres:3.6.35`
Setup: Self-hosted Airbyte on Kubernetes → RDS PostgreSQL (CDC via pgoutput) → S3
We have already tried:
- Increasing WAL retention to 10 GB. Our peak data volume between syncs is only ~3 GB, so WAL exhaustion was never the real cause
- Increased sync frequency to every 1 hour. Didn't help
- Set invalid_cdc_cursor_position_behavior to Re-sync data — this silently masked the error by triggering full refreshes on every failure
I am aware that this is a common error among the community. Has anyone manage to find a proper solution? 🙏guifesquet
05/29/2026, 3:29 PMThe source or destination used in this connection does not support file transfers, so they cannot be enabled.Emon Datta
06/03/2026, 5:00 AMselect * from table where cursor_field > 'last_sync_max_cursor_field_value' which implies that those 6 rows would NOT be processed since their cursor value is NOT > 'last_sync_max_cursor_field_value'. However, the Inclusive Cursors section of the documentation seems to suggest that these rows would indeed be processed. Which is correct?Jitendra Singh Bisht
06/08/2026, 12:20 PMError: Provider produced invalid plan
Provider "<http://registry.terraform.io/airbytehq/airbyte|registry.terraform.io/airbytehq/airbyte>" planned an invalid value
for airbyte_connection.oracle_fusion_fscm_databricks_sync.configurations.streams:
count in plan (cty.UnknownVal(cty.Number)) disagrees with count in config
(cty.NumberIntVal(5)).
This is a bug in the provider, which should be reported in the provider's
own issue tracker.
Provider version: airbytehq/airbyte ~> 0.13.0
Terraform version: hashicorp/terraform v1.x
What we're doing:
resource "airbyte_connection" "oracle_fusion_fscm_databricks_sync" {
name = "DIP-OracleFusionFSCM-Databricks-Sync"
source_id = airbyte_source_custom.oracle_fusion_fscm_source.source_id
destination_id = airbyte_destination_custom.oracle_fusion_fscm_destination.destination_id
configurations = {
streams = [
{ name = "stream_1", sync_mode = "incremental_deduped_history", ... },
{ name = "stream_2", sync_mode = "incremental_deduped_history", ... },
{ name = "stream_3", sync_mode = "incremental_deduped_history", ... },
{ name = "stream_4", sync_mode = "incremental_deduped_history", ... },
{ name = "stream_5", sync_mode = "incremental_deduped_history", ... },
]
}
}
Observations:
1. ✅ Works fine with 1 stream in the connection
2. ❌ Fails with 5 streams — count in plan (UnknownVal) disagrees with count in config (5)
3. ✅ Works fine with 5 streams if source already exists in state (i.e. only connection is being created)
4. The issue only occurs on first-time creation when source_id is (known after apply)
Root cause hypothesis: When source_id is unknown at plan time, the provider tries to validate the stream count against the source's catalog but gets UnknownVal — this only manifests with N>1 streams.
Questions:
1. Is this a known issue in airbytehq/airbyte provider v0.13.0?
2. Is there a workaround to create source + connection with multiple streams in a single apply?Amal Mokhtar
06/10/2026, 10:38 AMsource-postgres:3.7.2 and hoping someone has seen this.
Problem: After a full refresh completes successfully, the very next incremental CDC sync loads 0 records, and this repeats every time.
Root cause (probably): The full refresh does the ctid snapshot correctly but saves the initial WAL LSN as its final state (the LSN at snapshot start, not at snapshot end). So on the next incremental run, confirmed_flush_lsn == saved_offset_lsn, Debezium sees itself as caught up, skips the snapshot, streams only heartbeats, and exits with 0 records. All WAL changes between snapshot start and the next sync run are lost.
This seems related to flush.lsn.source = false, the slot LSN never advances during the ctid load so the saved state never moves forward.
Question: Is this a known bug in 3.7.x? Is there a patched version or a recommended workaround short of doing a manual refresh every day?
@kapa.aiWu Ricky
06/12/2026, 1:20 AMNevo
06/14/2026, 6:15 AM'GET' request to '<https://api-m.paypal.com/v1/reporting/transactions?fields=all&page_size=500&start_date=2026-06-11T21%3A49%3A26Z&end_date=2026-06-12T00%3A33%3A17Z>' failed with status code '404' and error message: 'Data for the given start date is not available.'. Request (body): 'None'. Response (body): '{'name': 'INVALID_REQUEST', 'message': 'Data for the given start date is not available.', 'debug_id'...
Connector version: 2.6.31
Does anyone else encountered this? any suggestions?
@kapa.aiDamir
06/14/2026, 7:20 PMNisheet Das
06/23/2026, 9:18 PM2026-06-22 21:36:18 destination ERROR com.google.cloud.bigquery.BigQueryException: 400 Bad Request
2026-06-22 21:36:18 destination ERROR PUT <https://bigquery.googleapis.com/upload/bigquery/v2/projects/XXXXXXXXXXXXXXXXXX/jobs?uploadType=resumable&upload_id=XXXXXXXXXXXXXXXXXX>
2026-06-22 21:36:18 destination ERROR {
2026-06-22 21:36:18 destination ERROR "error": {
2026-06-22 21:36:18 destination ERROR "code": 400,
2026-06-22 21:36:18 destination ERROR "message": "Request had invalid euc header.",
2026-06-22 21:36:18 destination ERROR "errors": [
2026-06-22 21:36:18 destination ERROR {
2026-06-22 21:36:18 destination ERROR "message": "Request had invalid euc header.",
2026-06-22 21:36:18 destination ERROR "domain":"**********",
2026-06-22 21:36:18 destination ERROR "reason": "invalid"
2026-06-22 21:36:18 destination ERROR }
2026-06-22 21:36:18 destination ERROR ],
2026-06-22 21:36:18 destination ERROR "status": "INVALID_ARGUMENT"
2026-06-22 21:36:18 destination ERROR }
2026-06-22 21:36:18 destination ERROR }
Anyone else faced this before? Any workarounds?Assaf Fraindlich
06/24/2026, 6:47 AMFabrizio Spini
06/24/2026, 12:38 PMsourceCatalogId even on empty schema diff
Setup
• Airbyte 2.1.0, self-hosted on GKE
• source-mysql:3.51.5 (CDC mode, invalid_cdc_cursor_position_behavior: Fail sync)
• destination-bigquery:3.0.16
• nonBreakingChangesPreference: ignore
What happens
Every night at midnight UTC a scheduled discover runs. When it completes, ConnectionsHandler.applySchemaChange() updates the connection's sourceCatalogId — even when the schema diff is empty. New syncs launched under the new catalogId find no associated CDC state and fall back to an old saved binlog position.
The result is a silent, growing backlog: each sync reprocesses an ever-increasing number of records from the old binlog position. In our case this grew from ~2M to ~55M records over 2 days before BigQuery started returning 500s and the sync loop became permanent.
Why nonBreakingChangesPreference: ignore doesn't help
This setting controls stream-level propagation, but applySchemaChange() still updates sourceCatalogId on every discover completion regardless. The CDC state orphaning happens upstream of that logic.
Impact
• Pipeline silently accumulates backlog for days without alerting
• Failure only surfaces when destination (BigQuery) starts rejecting large batch inserts
• By then the binlog position in the CDC state may no longer exist (rotated out)
Question
Is this a known issue? Is there a way to prevent sourceCatalogId from being updated when there's no actual schema change? We couldn't find a config option that controls this behavior.
Current mitigation
We deployed a Cloud Run job (hourly) that queries sync stats and alerts on Slack if any CDC connection shows 5 consecutive runs with monotonically increasing records emitted where the latest run processes >2x the records of the oldest in the window. This lets us catch the backlog early before volumes become critical.
Thanks 🙏ranjeetkumar.singh
06/26/2026, 9:46 PMcontact966
06/28/2026, 8:45 AMairbyte-abctl-airbyte-secrets and confirmed present in the server and workload-launcher pods.
Observed behavior: When creating a destination connector (postgreSQL) and running a check, the ephemeral pod fails with:
SecretCoordinateException: That secret was not found in the store!
Coordinate: airbyte_workspace_00000000-..._secret_<uuid>_v1
Vault returns a 403 on read. The secret was never written to Vault in the first place — the server doesn't seem to write connector secrets to Vault when saving a connection.
Question: Is writing connector secrets to Vault actually supported in Airbyte Core 2.x? The documentation is unclear on this point.
Thanks!Manish Pandey
06/30/2026, 10:03 AMgacosta
07/01/2026, 7:04 PMkodanda ramudu
07/02/2026, 5:14 PMRakim
07/03/2026, 11:20 AM--low-resource-mode toggle breaks install, MinIO missing
Environment:
• Airbyte: 2.1.0 (self-hosted, single-node kind on EC2)
• abctl: v0.30.4
• Helm chart: V2 (default)
What happened:
Originally installed without --low-resource-mode, then re-ran with the flag. This triggered a known Helm patch ordering bug (duplicate ..._REQUEST entries with both value:0 and valueFrom in the configmap patch list). Now every abctl local install — with or without the flag — fails at ~23s before pods start.
Error:
unable to install helm: failed to create patch: The order in patch list:
[map[name:CHECK_JOB_MAIN_CONTAINER_CPU_REQUEST value:0] ... map[name:CHECK_JOB_MAIN_CONTAINER_MEMORY_REQUEST valueFrom:...]]
doesn't match $setElementOrder list: [...]
What's been tried:
• Re-running install with/without --low-resource-mode — same error
• Deleting the cron deployment — fails earlier at the configmap patch
• --chart-version=1.7.2 — not viable, V1 chart is incompatible with Airbyte 2.1.0
Ask:
• Is there a non-destructive way to resolve the configmap patch conflict on Helm chart V2 / Airbyte 2.1.0?Leonardo Muñoz M.
07/03/2026, 8:57 PMincremental_dependency: true on parent-child streams, the child stream drops its cursor context after the first sync, forcing the parent stream into an unexpected full refresh loop on subsequent syncs (making them 100x–1000x slower).
I just updated the issue with a comprehensive root-cause analysis (assisted by GitHub Copilot and verified against the latest Concurrent CDK source code). I also provided:
1. A functional connector-level workaround using custom components (StateMigration) that anyone can apply today.
2. The exact lines in the CDK core (substream_partition_router.py) where the context is being lost.
Here is the link to the issue: github.com/airbytehq/airbyte/issues/61567
Could you please help review the proposed architectural fix or provide recommendations to get this merged? Thanks!maria.sanzbe
07/06/2026, 4:28 PM// HttpError
{
"i18nKey": "errors.http.internalServerError",
"i18nParams": {
"status": 500
},
"name": "HttpError",
"requestId": "(X)",
"request": {
"url": "/api/v1/source_definitions/list_for_workspace",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"data": {
"workspaceId": "(x)"
}
},
"status": 500,
"response": {
"message": "Internal Server Error: Duplicate key (X) (attempted merging values (X) and (X))",
"exceptionClassName": "java.lang.IllegalStateException",
The UI shows me duplicated sources but when I query de airbyte db tables with this query it does not appear duplicated:
SELECT *
FROM actor
WHERE actor_type = 'source';
I am using the version 2.0.1-alpha-7e24df1. Anyone else had this issue?akhilesh.kumar178
07/15/2026, 10:38 AM_id column. The source table contains rows where _id is NULL, and Airbyte's dedup/normalization step could not process these — causing the sync to abort. I checked Postgres stores table and there was no _id column with null values. Airbyte source (postgres) setting was using update method as 'scan changes with user defined cursor'.
2. Switched to Incremental | Append — now seeing duplicate rows:
As a workaround we switched to Incremental|Append mode. Syncs now complete successfully, BUT we are seeing duplicate rows in Snowflake destination.
What's unusual: all duplicate rows for a given store have the exact same dateupdated value. The only difference between duplicate rows is _AIRBYTE_EXTRACTED_AT — spaced ~15 minutes apart (our sync frequency).
Example — 7 rows for same store in Snowflake, all identical data:
Idateupdated = 2026-07-14 12:33:17 _airbyte_extracted_at = 12:46 ← first sync
dateupdated = 2026-07-14 12:33:17 _airbyte_extracted_at = 13:03 ← duplicate
dateupdated = 2026-07-14 12:33:17 _airbyte_extracted_at = 13:17 ← duplicate
dateupdated = 2026-07-14 12:33:17 _airbyte_extracted_at = 13:33 ← duplicate
... and so on
This only affects a small number of stores (~16 out of 243K) at any given time. The affected stores change over time.
Question for community: What is causing Incremental|Append + UDC to replicate the same rows repeatedly with identical dateupdated? Is this a known behavior and is there a recommended fix short of switching to CDC?Barush Mendez
08/05/2026, 3:27 PMAndrew Kinnersley
08/10/2026, 9:49 AMguillermo.astolfi
08/10/2026, 1:16 PM