Description
After our Self-Hosted Integration Runtime (SHIR) auto-updated to v5.55.9315.1 on November 15, 2025, Synapse pipelines that use the Salesforce V2 connector began producing Parquet files with an incomplete schema when an incremental load returns no new rows.
This did not occur on v5.52.9236.1. In a separate environment still running v5.52.9236.1, the expected behavior continues.
History / Prior Behavior (Years in Production)
For several years, across multiple connectors (including Salesforce V1, Salesforce V2, SQL Server, Db2), our pipelines have consistently produced empty Parquet files that include all expected source columns (plus one static, added control column with a file-creation timestamp) when an incremental load returns no data. This behavior remained correct with Salesforce V2 up until the SHIR auto-update on Nov 15, 2025.
Issue Details
- Before (v5.52.9236.1 and earlier): When no new data matched the incremental timestamp filter, Copy Activity output a Parquet file with all source columns present (schema intact) plus our static control column (a file timestamp we add).
- After (v5.55.9315.1): Under the same “no new data” condition, the Parquet file contains only the single static control column that we add. All source columns are missing from the Parquet schema, including the source column used by the incremental filter.
- Scope: Observed only with the Salesforce V2 connector. Other connectors (e.g., SQL Server, Db2) still behave as expected.
Impact
Downstream processes are designed to always read the Parquet file—whether it has data or not—and rely on the full schema (with NULLs when empty). When source columns are absent, those processes fail because expected columns do not exist. While we could alter downstream logic, this appears to be a regression introduced immediately after the SHIR auto-update rather than a documented, intentional change.
Environment
- Product: Synapse Pipelines / Self-Hosted Integration Runtime
- Connector: Salesforce V2
- Current version (failing): 5.55.9315.1
- Prior version (working): 5.52.9236.1
- Auto-update date: November 15, 2025
Reproduction Steps
- On SHIR v5.55.9315.1, configure a Copy Activity using Salesforce V2 with an incremental timestamp filter that results in zero rows returned.
- Sink is Parquet (ADLS/Blob). Add a static control column (file creation timestamp) via mapping/derived column.
- Run the pipeline.
- Actual: Parquet file is created but contains only the static control column; all source columns are missing.
- Expected: Parquet file should be created with the full source schema plus the static control column, even when there are zero rows.
What We’ve Checked
- Verified identical pipeline design and mappings on an environment running v5.52.9236.1 → works as expected (full schema present on empty results).
- Confirmed other connectors (e.g., SQL Server, Db2) on v5.55.9315.1 still retain full schema on empty results.
- Reviewed SHIR/Salesforce connector documentation and download pages; cannot locate a rollback package for v5.52.9236.1.
Request for Microsoft
- Please confirm whether this is a known issue/bug in SHIR v5.55.9315.1 affecting Salesforce V2 when incremental loads yield zero rows.
- If intentional, please share the release note/design change and recommended migration guidance.
- Provide a way to download or roll back to v5.52.9236.1 (or an interim fixed build) while this is investigated.
- If a hotfix or connector update is available, please advise on the build/version.
Summary
- Behavior change date: Nov 15, 2025 (post-auto-update to 5.55.9315.1)
- Observed only with: Salesforce V2
- Actual (empty result): Parquet schema includes only our added static control column
- Expected (empty result): Parquet schema includes all source columns + static control column (rows = 0)