Skip to content

[SPARK-59645][SDP] SCD1 Ignore-null support; Refactor SCD1 microbatch reconciliation into strategies - #58915

Open
AnishMahto wants to merge 5 commits into
apache:masterfrom
AnishMahto:scd1-leaf-versioning-dispatch
Open

AnishMahto wants to merge 5 commits into
apache:masterfrom
AnishMahto:scd1-leaf-versioning-dispatch

Conversation

@AnishMahto

@AnishMahto AnishMahto commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

Default SCD1 reconciliation accepts or rejects an event wholesale, so all columns share one row-level version. Ignore-null permits different events to author different leaves, requiring fundamentally different deduplication and tombstone reconciliation.

Refactor Scd1BatchProcessor to delegate to a reconciliation strategy and move existing behavior into the default Scd1RowLevelReconciliation. This preserves current behavior while establishing the boundary for future leaf-level reconciliation.

This is a pure refactor PR, and does not yet introduce the strategy that per-leaf reconciliation (i.e ignore-null) will use. No new behavior is added, and no existing behavior is changed.

Why are the changes needed?

Preparing Scd1BatchProcessor to support an alternative leaf-level reconciliation strategy, required for ignore-null support.

Does this PR introduce any user-facing change?

No. This is a pure refactoring change.

How was this patch tested?

Existing tests. No new tests added as this is a pure refactoring change.

Was this patch authored or co-authored using generative AI tooling?

Co-authored with GPT 5.6 Sol.

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.

1 participant