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

Marcel Reutegger commented on OAK-535:
--------------------------------------

I was thinking about this problem again and was wondering if we can leverage 
the commit history again when we have a concurrent (potentially conflicting) 
commit. Instead of reading the tree and performing a diff, couldn't we just 
apply the commits between the branch root and the current head revision on top 
of the trunk? While doing this we could check for conflicts and abort if 
necessary.
                
> MergeCommand reads complete tree into memory
> --------------------------------------------
>
>                 Key: OAK-535
>                 URL: https://issues.apache.org/jira/browse/OAK-535
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: mongomk
>    Affects Versions: 0.5
>            Reporter: Marcel Reutegger
>         Attachments: mergecommandoptimization.patch, mergefixattempt.patch, 
> movepatch.diff, moves-in-commit.patch, OAK-535.patch
>
>
> Merging commits to a branch back to head in MongoMK calls MergeCommand, which 
> reads the complete tree into memory. The more content is in the repository, 
> the longer it takes to store even a simple update as a property change.

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