[ https://issues.apache.org/jira/browse/OAK-2669?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marcel Reutegger resolved OAK-2669. ----------------------------------- Resolution: Fixed Based on comments above, I'll resolve this issue again. I think we all agree this change is rather a short term fix and the goal of OAK-2685 is to address the concerns mentioned in this issue. > 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)