[
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)