You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merging in Nessie is currently constrained by the fact that changes to the same content object on the references to be merged fail. There are options to mitigate the issue a little bit, by forcing the merge to let one of the changes survive, but this is not the ultimately satisfying solution.
Nessie needs a "more interactive" merge API that responds with the conflicting contents and lets callers chose a new conflict resolution type, namely to use a new content object supplied by the caller.
So the changes could:
Add a new enum value APPLY to org.projectnessie.model.MergeBehavior
Add three new fields of type Content to MergeKeyBehavior:
expectedSourceContent (expected content on the "merge from" reference)
expectedTargetContent (expected content on the "merge into" branch
resolvedContent (content to be eventually merged)
Add two new fields to MergeResponse.ContentKeyDetails:
sourceContent (current content on the "merge from" reference)
targetContent (current content on the "merge into" branch
This gives callers, for example Iceberg, the ability to create a new table-metadata that is the result of the merge of both the source and target table-metadata.
Since this is a REST API change, at least the API change must be merged before calling REST API v2 "GA".
The text was updated successfully, but these errors were encountered:
* Adds the necessary bits to allow content-aware merge & transplant operations.
* Also update the version-store SPIs to.
* Does not add the functionality to the (new) storage model.
Fixesprojectnessie#6592
* Adds the necessary bits to allow content-aware merge & transplant operations.
* Also update the version-store SPIs to.
* Does not add the functionality to the (new) storage model.
Fixesprojectnessie#6592
* Adds the necessary bits to allow content-aware merge & transplant operations.
* Also update the version-store SPIs to.
* Does not add the functionality to the (new) storage model.
Fixes#6592
Merging in Nessie is currently constrained by the fact that changes to the same content object on the references to be merged fail. There are options to mitigate the issue a little bit, by forcing the merge to let one of the changes survive, but this is not the ultimately satisfying solution.
Nessie needs a "more interactive" merge API that responds with the conflicting contents and lets callers chose a new conflict resolution type, namely to use a new content object supplied by the caller.
So the changes could:
APPLY
toorg.projectnessie.model.MergeBehavior
Content
toMergeKeyBehavior
:expectedSourceContent
(expected content on the "merge from" reference)expectedTargetContent
(expected content on the "merge into" branchresolvedContent
(content to be eventually merged)MergeResponse.ContentKeyDetails
:sourceContent
(current content on the "merge from" reference)targetContent
(current content on the "merge into" branchThis gives callers, for example Iceberg, the ability to create a new table-metadata that is the result of the merge of both the source and target table-metadata.
Since this is a REST API change, at least the API change must be merged before calling REST API v2 "GA".
The text was updated successfully, but these errors were encountered: