-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[Kernel] [CatalogManaged] Committer
, CommitPayload
, CommitResponse
, CommitFailedException
APIs
#4814
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?
[Kernel] [CatalogManaged] Committer
, CommitPayload
, CommitResponse
, CommitFailedException
APIs
#4814
Conversation
Committer
, CommitPayload
, CommitResponse
, CommitFailedException
APIs
kernel/kernel-api/src/main/java/io/delta/kernel/commit/CommitFailedException.java
Outdated
Show resolved
Hide resolved
kernel/kernel-api/src/main/java/io/delta/kernel/commit/CommitPayload.java
Outdated
Show resolved
Hide resolved
* The {@link Protocol} that was read at the beginning of the commit. Empty if a new table is | ||
* being created. | ||
*/ | ||
public final Optional<Protocol> readProtocolOpt; |
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.
Can you remind me why we need the old/new p and ms?
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.
Good question! For example, to detect that the catalogManaged
table feature has been enabled on the table.
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.
And, certainly, you want the new Protocol and Metadata so you can send that to the catalog, and then it always knows what's the latets P & M, and it can give that back on the next read request to efficiently construct a ResolvedTable without having to go to the file system to resolve the latest P & M
b603c47
to
072ede5
Compare
kernel/kernel-api/src/main/java/io/delta/kernel/commit/CommitFailedException.java
Outdated
Show resolved
Hide resolved
* from Kernel to {@link Committer} implementations, which use the information to perform | ||
* catalog-specific or filesystem-specific commit operations. | ||
* | ||
* <p><strong>Important:</strong> The actions iterator should only be consumed once. Committer |
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.
Engine implementations
} | ||
|
||
/** All Delta actions (data and metadata) that are part of this commit. */ | ||
public CloseableIterator<Row> getFinalizedActions() { |
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.
mention again that this can only be consumed once
76c689f
to
75bae78
Compare
🥞 Stacked PR
Use this link to review incremental changes.
Which Delta project/connector is this regarding?
Description
This PR creates the Committer, CommitPayload, CommitResponse, CommitFailedException public APIs.
How was this patch tested?
Just new APIs.
Does this PR introduce any user-facing changes?
Yes.