-
Notifications
You must be signed in to change notification settings - Fork 2k
[PROTOTYPE] [EARLY FEEDBACK REQUESTED] Kernel accept opaque committer properties; UC committer extensibility #5230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
| * <p>This method allows subclasses to provide custom committer implementations for specialized | ||
| * use cases. | ||
| */ | ||
| protected Committer createUCCommitter(UCClient ucClient, String ucTableId, String tablePath) { |
There was a problem hiding this comment.
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); |
There was a problem hiding this comment.
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; | ||
|
|
||
| /** |
There was a problem hiding this comment.
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 ...
🥞 Stacked PR
Use this link to review incremental changes.
Which Delta project/connector is this regarding?
Description
How was this patch tested?
Does this PR introduce any user-facing changes?