Skip to content

fix: ignore server-set delta.parquet.compression.codec tblproperty#1489

Merged
sd-db merged 1 commit into
mainfrom
sd-db/fix/st-zstd-compression-codec-ignore
May 29, 2026
Merged

fix: ignore server-set delta.parquet.compression.codec tblproperty#1489
sd-db merged 1 commit into
mainfrom
sd-db/fix/st-zstd-compression-codec-ignore

Conversation

@sd-db
Copy link
Copy Markdown
Collaborator

@sd-db sd-db commented May 29, 2026

Summary

A recent server-side change began stamping the non-user-configurable property delta.parquet.compression.codec=zstd onto streaming tables and materialized views. Because it was absent from TblPropertiesConfig.ignore_list, it leaked into the existing-relation config but never the desired (model) config — so get_changeset reported a phantom configuration change on every run of an otherwise-unchanged relation.

Impact by on_configuration_change:

  • fail → idempotent dbt runs now error out (regression)
  • apply → spurious ALTER … SET TBLPROPERTIES every run
  • continue → spurious "configuration changes were identified" warning every run

This surfaced fleet-wide on 2026-05-28 (both main nightly and feature-branch CI); the same tests passed on 2026-05-27 with no intervening code change, pinning the cause to the backend.

Fix

Add delta.parquet.compression.codec to TblPropertiesConfig.ignore_list so it is dropped during config comparison, matching the existing pattern for other Databricks-set properties (e.g. delta.enableDeletionVectors, delta.columnMapping.maxColumnId).

Testing

  • Unit: added test_from_results__drops_ignored_properties to lock the filter behavior; full unit suite passes (1116 passed).
  • Functional: TestStreamingTableChangesApply::test_change_is_applied_via_alter passes against a live SQL warehouse (was failing in CI). The other 6 failures — including test_idempotent_run_does_not_fail, which exercises the regression directly — route through the same comparison and are covered by the same filter.

@sd-db sd-db requested a review from jprakash-db as a code owner May 29, 2026 07:44
The backend began stamping delta.parquet.compression.codec=zstd onto
streaming tables (and materialized views), which is not user-configurable.
Because it was absent from TblPropertiesConfig.ignore_list, the relation
config diff surfaced it and the exact-equality assertions in the
streaming_tables change tests failed fleet-wide starting 2026-05-28.

Add the property to ignore_list so it is dropped during config comparison,
matching the existing pattern for other Databricks-set properties.
@sd-db sd-db force-pushed the sd-db/fix/st-zstd-compression-codec-ignore branch from 204a1ea to 2906484 Compare May 29, 2026 07:44
@github-actions
Copy link
Copy Markdown

Coverage report

Click to see where and how coverage changed

FileStatementsMissingCoverageCoverage
(new stmts)
Lines missing
  dbt/adapters/databricks/relation_configs
  tblproperties.py
Project Total  

This report was generated by python-coverage-comment-action

@sd-db
Copy link
Copy Markdown
Collaborator Author

sd-db commented May 29, 2026

/integration-test

@github-actions
Copy link
Copy Markdown

Integration tests dispatched for PR #1489 by @sd-db. Track progress in the Actions tab.

@github-actions
Copy link
Copy Markdown

Integration results for PR #1489 — UC cluster ❌ failure · SQL warehouse ❌ failure · All-purpose cluster ❌ failure · Shard coverage ✅ success

Run details.

@sd-db
Copy link
Copy Markdown
Collaborator Author

sd-db commented May 29, 2026

Integration run looks okay, the issue at hand is fixed. There is a single failing test TestPersistDocsColumnMissing::test_missing_column on all three profiles which is due to a breaking change in a test dependency dbt-tests-adapters. Fix raised in #1490.

@sd-db sd-db merged commit 0b0b0c2 into main May 29, 2026
10 checks passed
@sd-db sd-db deleted the sd-db/fix/st-zstd-compression-codec-ignore branch May 29, 2026 11:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants