Andreas Neumann created SPARK-58409:
---------------------------------------

             Summary: Add SCD2 end-to-end test suites to match SCD1 AutoCDC 
coverage
                 Key: SPARK-58409
                 URL: https://issues.apache.org/jira/browse/SPARK-58409
             Project: Spark
          Issue Type: Sub-task
          Components: Declarative Pipelines
    Affects Versions: 5.0.0
            Reporter: Andreas Neumann


SCD2 AutoCDC end-to-end (graph-execution) test coverage is much thinner than 
SCD1's. SCD1 has eight E2E suites under sql/pipelines/src/test/scala/.../graph, 
but only two have SCD2 counterparts today.

Have SCD2 equivalents:
- AutoCdcScd1SinglePipelineSuite      -> AutoCdcScd2SinglePipelineSuite
- AutoCdcScd1AuxiliaryTableSpecSuite  -> AutoCdcScd2AuxiliaryTableSpecSuite

Also, the randomized order-invariance suite AutoCdcOutOfOrderConvergenceSuite 
(formerly AutoCdcScd1OutOfOrderConvergenceSuite) now runs for both SCD1 and 
SCD2 (SPARK-58321), and AutoCdcConfigDriftSuite covers SCD2 sequencing-type and 
track-history drift (SPARK-58391).

Missing SCD2 counterparts (SCD1 suite -> gap):
- AutoCdcScd1FullRefreshSuite -> no SCD2 full-refresh suite. Full refresh drops 
and recreates both the target and the (richer) SCD2 auxiliary table; worth 
dedicated coverage rather than assuming the SCD1 test generalizes.
- AutoCdcScd1MultiPipelineSuite -> no SCD2 multi-pipeline suite (multiple 
pipelines / flows writing to the same SCD2 target).
- AutoCdcScd1SchemaEvolutionSuite -> no SCD2 schema-evolution suite (evolving 
user columns on an SCD2 target alongside the framework columns, 
nested/struct/array evolution, etc.).
- AutoCdcScd1TargetTableDurabilitySuite -> no SCD2 target-table durability 
suite.
- AutoCdcScd1AuxiliaryTableDurabilitySuite -> no SCD2 auxiliary-table 
durability suite.
- AutoCdcScd1KeyDriftSuite -> no SCD2 key-drift suite. (Key-drift validation is 
SCD-type-agnostic, exercised end-to-end only for SCD1; the SCD2 path should 
have equivalent coverage.)

Proposed work: add the missing SCD2 E2E suites, reusing the shared 
AutoCdcGraphExecutionTestMixin helpers (scd2MetadataDdl, 
singleAutoCdcFlowPipeline/autoCdcFlow with scdType = Type2). Discovered while 
extending the out-of-order convergence test to SCD2 (SPARK-58321) and auditing 
AutoCDC test coverage.

Note: this became actionable only once SCD2 flows are runnable end to end 
(SPARK-58321), which these suites depend on.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to