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

Michael Dürig commented on OAK-638:
-----------------------------------

bq. Another assumption we (Thomas and I) made and discussed was concurrent 
commits in distinct areas of the tree do not conflict and can proceed in 
parallel. 

It should be possible to combine this with the "branch, rebase, fast forward 
merge" approach I [described above | 
https://issues.apache.org/jira/browse/OAK-638?focusedCommentId=13582130&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13582130]:
 we just need to make the fast forward merge a bit more clever such that it 
could detect and merge changes in distinct areas of the tree instead of just 
giving up when there was concurrent change. 
                
> Avoid branch/merge for small commits
> ------------------------------------
>
>                 Key: OAK-638
>                 URL: https://issues.apache.org/jira/browse/OAK-638
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>            Reporter: Marcel Reutegger
>            Priority: Minor
>             Fix For: 0.7
>
>         Attachments: OAK-638.patch, OAK-638.patch, OAK-638.patch
>
>
> The branch/merge features on the MicroKernel were initially introduced to 
> stage changes of large commits. Currently oak-core creates a branch even for 
> small changes like updating a property. I think this introduces quite some 
> overhead for scenarios with highly concurrent updates. E.g. think of a 
> twitter like application or a forum with comments. Well, basically user 
> generated content. These update tend to be rather small (couple of nodes) but 
> frequent and concurrent.
> Right now oak-core always does:
> - MK.branch()
> - MK.commit() to branch
> - MK.merge()
> For small commits, it ideally should do:
> - MK.commit() to trunk

--
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