[
https://issues.apache.org/jira/browse/OAK-535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13565291#comment-13565291
]
Marcel Reutegger commented on OAK-535:
--------------------------------------
The check we have in saveAndSetHeadRevision() just detects concurrent commits,
but it cannot tell whether concurrent commits conflict. I think we could keep
saveAndSetHeadRevision() as is. If saveAndSetHeadRevision() fails, then the
commit is retried with the new head revision. Conflict detection and resolution
(if needed) on the tree level then happens in readAndMergeExistingNodes().
> 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