You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Vikas Saurabh (JIRA)" <ji...@apache.org> on 2015/10/08 09:45:26 UTC
[jira] [Commented] (OAK-3494) MemoryDiffCache should also check
parent paths before falling to Loader (or returning null)
[ https://issues.apache.org/jira/browse/OAK-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14948220#comment-14948220 ]
Vikas Saurabh commented on OAK-3494:
------------------------------------
I'm not sure if I follow. DocumentNodeStore.dispath() deals with node state and sends childNodeState as well while calling back diff.childNodeAdded/Changed. Memory diff cache only is dealing with paths and child names as strings. Did you mean that we should extract parsing logic out to some *Util and both DocumentNodeStore and MemoryDiff should use that?
> MemoryDiffCache should also check parent paths before falling to Loader (or returning null)
> -------------------------------------------------------------------------------------------
>
> Key: OAK-3494
> URL: https://issues.apache.org/jira/browse/OAK-3494
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: core
> Reporter: Vikas Saurabh
> Assignee: Marcel Reutegger
> Labels: performance
> Attachments: OAK-3494-TestCase.patch, OAK-3494.patch
>
>
> Each entry in {{MemoryDiffCache}} is keyed with {{(path, fromRev, toRev)}} for the list of modified children at {{path}}. A diff calcualted by {{DocumentNodeStore.diffImpl}} at '/' (passively via loader) or {{JournalEntry.applyTo}} (actively) fill each path for which there are modified children (including the hierarchy)
> But, if an observer calls {{compareWithBaseState}} on a unmodified sub-tree, the observer will still go down to {{diffImpl}} although cached parent entry can be used to answer the query.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)