[
https://issues.apache.org/jira/browse/OAK-2669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14487111#comment-14487111
]
Michael Dürig commented on OAK-2669:
------------------------------------
Thanks for clarifying. Could you please create a follow up issue for the
remaining work of cleaning this up again once OAK-2685 is fixed?
> Use Consolidated diff for local changes with persistent cache to avoid
> calculating diff again
> ---------------------------------------------------------------------------------------------
>
> Key: OAK-2669
> URL: https://issues.apache.org/jira/browse/OAK-2669
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: mongomk
> Reporter: Chetan Mehrotra
> Fix For: 1.2
>
> Attachments: OAK-2669-A.patch, OAK-2669-benchmark.patch
>
>
> Currently the diff logic in DocumentMK makes use of DiffCache which has an in
> memory implementation and a Mongo based implementation. Given that we need to
> have a fast observation support for local changes it would be better to make
> use of persistent cache. After discussing with [~mreutegg] following changes
> need to be done in current logic
> # Have the Commit#applyChanges push the commit diff to persistent cache with
> current commit revision as key
> # In compare pull out the diff from persistent cache and if present use that.
> Note that this diff is for complete tree compared to current JSOP diff used
> which is only per node level. So need to change the way diff is pushed back
> to NodeStateDiff
> Above change should avoid hitting mongo all together for determining the
> diff. Only extra work performed in diff calculation would be determining the
> node state view for the base revision. Later we can think of also include
> node state base revision as part of diff so as to avoid this extra work all
> together and rely on node state from persistent cache for that work also
> See also http://markmail.org/thread/bzmwcp7k4wmtw6od
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)