Skip to content

Conversation

@scottsand-db
Copy link
Collaborator

@scottsand-db scottsand-db commented Sep 18, 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

How was this patch tested?

Does this PR introduce any user-facing changes?

@scottsand-db scottsand-db changed the title done first pass of prototype [PROTOTYPE] [EARLY FEEDBACK REQUESTED] Kernel accept opaque committer properties; UC committer extensibility Sep 18, 2025
* <p>This method allows subclasses to provide custom committer implementations for specialized
* use cases.
*/
protected Committer createUCCommitter(UCClient ucClient, String ucTableId, String tablePath) {
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Code smell here. I wonder if we should abandon the UCCatalogManagedClient::loadSnapshot API -- and instead just provide static utilities (like getting the commits, parsing the commits, etc.)

* Adds custom properties that will be passed through to the committer. These properties allow
* connectors to inject catalog-specific metadata without Kernel inspection.
*/
void withCommitterProperties(Supplier<Map<String, String>> committerProperties);
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Added here instead of on the builder so Connectors can inject any properies they'd like at any point.

e.g. maybe these properties depend on the data files written

TransactionCommitResult commit(Engine engine, CloseableIterable<Row> dataActions)
throws ConcurrentWriteException;

/**
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I don't love how this is on the Txn and not the TxnBuilder ...

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