[ 
https://issues.apache.org/jira/browse/OAK-2464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vikas Saurabh updated OAK-2464:
-------------------------------
    Attachment: 0001-OAK-2464-Optimize-read-of-known-non-existing-childre.patch

Attached patch. The patch, {{DocumentNodeStore::getNode}}'s ValueLoader when it 
tries to pick value from {{nodeCache}}. The ValueLoader now checks for 
docChildrenCache entry for parent of currently queried node. If it finds one 
which doesn't say {{hasMore}}, it iterates over the cached children to see if 
it can find matching node name. If not, we don't need to go down to 
DocumentStore.

[~chetanm] raised a concern that for looking up for in list of cached children, 
we are currently iterating over ArrayList of children. We can probably optimize 
that by having the list sorted or use Set for keeping the children.

[~mreutegg], [~chetanm], can you please review the change and the test case.

> Optimize read of known non-existing children
> --------------------------------------------
>
>                 Key: OAK-2464
>                 URL: https://issues.apache.org/jira/browse/OAK-2464
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>            Reporter: Vikas Saurabh
>            Priority: Minor
>         Attachments: 
> 0001-OAK-2464-Optimize-read-of-known-non-existing-childre.patch
>
>
> Reading a non-existing node always queries down to {{DocumentStore}}. 
> {{DocumentNodeStore}} should consider {{nodeChildrenCache}} to see if it 
> already knows about non-existence and avoid a look up into {{DocumentStore}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to