AnishMahto opened a new pull request, #56474: URL: https://github.com/apache/spark/pull/56474
Approved AutoCDC SPIP: https://lists.apache.org/thread/j6sj9wo9odgdpgzlxtvhoy7szs0jplf7 ------------ This is a stacked PR. Review incremental diff here: https://github.com/AnishMahto/spark/compare/SPARK-57378-scd2-merge-reconciled-rows...SPARK-57395-scd2-foreachBatch-callback ### What changes were proposed in this pull request? **Preamble:** The SCD type 2 flow is a foreachBatch streaming query on an input change-data-feed, and is responsible for reconciling the incoming change data onto some target table that follows SCD2 replication semantics. SCD2 flows also maintain an "auxiliary" table to keep track of early-arriving out-of-order received events state. Each microbatch will need to reconcile against this auxiliary table as well, and update the auxiliary table's state appropriately for future microbatches. **foreachBatch Callback** Implementation of the actual callback that will be passed into the foreachBatch streaming query for SCD2 flows. The callback orchestrates calling all of the `Scd2BatchProcessor` helpers to execute the complete reconciliation of a change-data-feed microbatch onto the auxiliary and target tables. ### Why are the changes needed? SCD2 core algorithm implementation. ### Does this PR introduce _any_ user-facing change? No, SCD2 is an unreleased feature. ### How was this patch tested? Unit tests in `Scd2ForeachBatchHandlerSuite`. ### Was this patch authored or co-authored using generative AI tooling? Co-authored with Claude Opus 4.8 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
