[
https://issues.apache.org/jira/browse/OAK-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14948220#comment-14948220
]
Vikas Saurabh edited comment on OAK-3494 at 10/8/15 7:45 AM:
-------------------------------------------------------------
[~mreutegg], 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?
was (Author: catholicon):
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)