[ 
https://issues.apache.org/jira/browse/OAK-464?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13508649#comment-13508649
 ] 

Jukka Zitting commented on OAK-464:
-----------------------------------

bq. Move the rebase operation down to the Microkernel

+1 The loss of custom conflict handling logic is unfortunate, but that's 
already the case with MK implementations that that allow concurrent commits 
from multiple clients - there's no way for oak-core to add custom handling for 
those cases.

bq. Implement the rebase operation on top of the Microkernel (status quo)

-0 For the performance and complexity overhead.

bq. Drop the rebase operation completely

-1 The only way not to have at least some level of rebase functionality is if 
we only allow commits based on the latest revision, essentially serializing all 
writes.

bq. Is each of those commits atomic?

Yes, though since they're against a branch, there's no need to worry about 
concurrent commits.

BTW, there's no particular need for doing multiple individual commits here if 
the underlying MK can apply all the changes in a branch as a single operation. 
The possibility of such lower level optimizations is one reason for why I'd 
prefer to have this functionality in the MK instead of in oak-core.

bq. What about conflicts?

The only possible source of conflicts is the updated base revision of the 
branch. Handling of those is the point of having a rebase operation.
                
> RootImpl.rebase() doesn't handle move operations correctly
> ----------------------------------------------------------
>
>                 Key: OAK-464
>                 URL: https://issues.apache.org/jira/browse/OAK-464
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>            Reporter: Michael Dürig
>
> Doing {{RootImpl.rebase()}} causes moves to be changed to remove followed by 
> add. Which causes moves of large sub trees to become very expensive.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to