Skip to content

Conversation

@TimothyW553
Copy link
Collaborator

@TimothyW553 TimothyW553 commented Dec 1, 2025

🥞 Stacked PR

Use this link to review incremental changes.


Which Delta project/connector is this regarding?

  • Spark
  • Standalone
  • Flink
  • Kernel
  • Other (fill in here)

Description

This PR is the skeleton for catalog-managed Delta tables in the DSv2 connector backed by Kernel. It introduces the interface hierarchy and factory pattern needed to support both traditional path-based tables and catalog-managed tables (e.g., Unity Catalog with CCv2).

Note: All operations are intentionally stubbed (empty). Functionality will be implemented in the next PR.

Architecture

  • orange: previous PR
  • green: current PR changes
 graph LR
  subgraph Inputs
    CT[CatalogTable]
    SS[SparkSession]
  end

  subgraph "PR 5605"
    SUCU[SparkUnityCatalogUtils]
    UCCI[UnityCatalogConnectionInfo]
  end

  subgraph "This PR"
    Factory[Factory]
    UCA[UnityCatalogAdapter]
  end

  subgraph "Future PR"
    CMSM[CatalogManagedSnapshotManager]
  end

  subgraph "UC Server"
    UC[Unity Catalog]
  end

  CT --> SUCU
  SS --> SUCU
  SUCU --> UCCI
  UCCI --> Factory
  Factory --> UCA
  UCA --> CMSM
  CMSM --> UC

  style SUCU fill:#FFA500
  style UCCI fill:#FFA500
  style Factory fill:#90EE90
  style UCA fill:#90EE90
  style CMSM fill:#87CEEB

Loading

Key Design Decisions

  1. To support different catalog implementations in the future without changing the snapshot manager, we introduce ManagedCatalogAdapter which other catalogs can implement
  2. To properly route different snapshot managers and keep it transparent, we use DeltaSnapshotManagerFactory which either goes through:
    • UC-managed tables → CatalogManagedSnapshotManager + UnityCatalogAdapter
    • Path-based tables → PathBasedSnapshotManager (existing already)

How was this patch tested?

Locally and CI.

Does this PR introduce any user-facing changes?

No.

@TimothyW553 TimothyW553 force-pushed the stack/ccv2-uc-wireframe branch 16 times, most recently from 93f0be7 to c714f9f Compare December 2, 2025 18:41
@TimothyW553 TimothyW553 changed the title Add catalog-managed snapshot wireframe stubs [DSv2] Introduce catalog-managed snapshot management wireframe for CCv2 Dec 2, 2025
@TimothyW553 TimothyW553 changed the title [DSv2] Introduce catalog-managed snapshot management wireframe for CCv2 [Kernel-Spark] Introduce catalog-managed snapshot management wireframe for CCv2 Dec 2, 2025
@TimothyW553 TimothyW553 marked this pull request as ready for review December 2, 2025 21:14
@TimothyW553 TimothyW553 force-pushed the stack/ccv2-uc-wireframe branch 2 times, most recently from a19f290 to 8282845 Compare December 2, 2025 23:31
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe just leave this method to the next PR

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah good point, it is not currently used in this PR

@TimothyW553 TimothyW553 force-pushed the stack/ccv2-uc-wireframe branch 4 times, most recently from 412cebb to 71108ce Compare December 4, 2025 18:46
@TimothyW553 TimothyW553 force-pushed the stack/ccv2-uc-wireframe branch from 857af0e to 5826f60 Compare December 8, 2025 19:44
@TimothyW553 TimothyW553 force-pushed the stack/ccv2-uc-wireframe branch from 5826f60 to cec9194 Compare December 8, 2025 22:31
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