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

Angela Schreiber updated OAK-9745:
----------------------------------
    Component/s: jackrabbit-api

> Efficient operations on child nodes
> -----------------------------------
>
>                 Key: OAK-9745
>                 URL: https://issues.apache.org/jira/browse/OAK-9745
>             Project: Jackrabbit Oak
>          Issue Type: Epic
>          Components: core, jackrabbit-api, jcr
>            Reporter: Angela Schreiber
>            Priority: Major
>
> as discussed with [~jhoh] in private conversations we should look at more 
> efficient ways to operate on child node collections such as
> - determine if the set of child nodes match a given pattern
> - determine the number of child nodes
> - get an estimate if the number of child nodes exceeds a given max value
> - getting an iterable over all child nodes that match a given pattern
> one initial idea would be to introduce a new interface representing the 
> child-node collection and adding functionality there instead of creating 
> multiple new methods on {{JackrabbitNode}} or {{JackrabbbitSession}}.
> the following improvements requests should be handled as part of this epic:
> - OAK-9666
> - OAK-9667 
> The reason is to avoid calling one of the {{Node.getNodes()}} methods, as 
> these always read *all* children to return them within the NodeIterator, and 
> this can be an expensive operation if it has thousands of child nodes. And 
> building the complete NodeIterator is not always required (see the above 
> cases, where it's not needed).



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to