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)