Adovo

Data & Analytics

Airbyte SFTP Bulk reports EMPTY_STREAM while the file exists

Diagnose root-folder and glob matching before widening an Airbyte SFTP stream to unrelated files.

October 29, 2026

An Airbyte SFTP Bulk stream has a file newer than its configured start date, yet discovery returns EMPTY_STREAM. In a reported v1.9.3 reproduction, folder_path is / and a relative glob such as downloaded/client2/Lacey* fails to match an existing file. The reporter traced a double slash in the generated file URI and a mismatch between normalized and original glob values. This is a precise connector case, not a reason to declare every empty stream a connector bug.

Separate absence from matching failure

From the same SFTP account, list the configured root and target directory. Record the actual filename, case, last-modified time, start-date filter, connector version, and the glob. Test a narrow file pattern rather than **, which can match unrelated CSV or archive files and contaminate the destination. The Airbyte source guide is the baseline for supported configuration; compare it with the deployed connector version.

Reproduce without moving production data

The issue shows that alternative folder/glob combinations behave differently, and one broader pattern reaches a separate UTF-8 parse error. That distinction is useful: a discovery fix does not prove successful parsing or safe ingestion. In a disposable connection, try a single known file and inspect discovery logs, then a sample sync into a test destination. Compare row count and filenames before expanding scope.

Avoid a fragile permanent workaround

The reporter found a //-prefixed glob that matches under the current behavior, but described it as a duplicate-slash workaround. Keep such a workaround isolated and documented if an urgent delivery requires it; retest when the connector updates. Escalate a minimal reproduction with version, path, glob, and logs. Do not change a production stream to a broad wildcard merely to make its status green.

Adovo’s view

An empty stream is an observation, not an explanation. Prove whether files are absent, filtered, unmatched, or unreadable. A pipeline that succeeds by ingesting the wrong files is a worse failure than one that stops visibly.

Continue exploring

Data & Analytics

AirbyteShopify

Shopify discount codes disappear from one Airbyte stream

Two Shopify discount streams can disagree while syncs look healthy. Reconcile source IDs, cursor coverage and failed lookups before changing code.

Read more

Data & Analytics

AirbyteSQL Server

A successful Airbyte MSSQL CDC sync can expose half a transaction

Check transaction boundaries and downstream reconciliation when a SQL Server CDC sync completes before all changes from one commit arrive.

Read more

Data & Analytics

AirbyteMariaDB

Airbyte MariaDB CDC resumes inside a row event and stalls every sync

A saved CDC offset can leave a MariaDB connector unable to interpret the next binlog event. Preserve state and recover with a controlled plan.

Read more
Explore data and analytics services →