[
https://issues.apache.org/jira/browse/OAK-638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13581225#comment-13581225
]
Stefan Guggisberg commented on OAK-638:
---------------------------------------
bq. Thus the expectation in oak-core has been that MK.branch() would be a very
efficient call that requires no network or disk IO until later if the branch
grows too large.
i am not aware of such expectations. i assume they haven't been properly
communicated.
however, i am aware of the single original use case for introducing
branch/merge on the
MicroKernel API, i.e. large commits.
we need to keep in mind that, depending on deployment scenarios,
the MicroKernel API could be remoted (see e.g. OAK-162).
it's IMO obvious that calling branch/commit/merge for
small changes (instead of a single commit call) is non-ideal
since it causes unnecessary server roundtrips and should be avoided.
> 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
>
> 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