jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "angela (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-1638) Redundant calls to RepositoryService.getChildInfos
Date Thu, 05 Jun 2008 07:57:45 GMT

    [ https://issues.apache.org/jira/browse/JCR-1638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602574#action_12602574

angela commented on JCR-1638:

the problem is caused by the following behaviour of jcr2spi:

- whenever a ChildNodeEntries object is built, it loads the child-infos from the spi layer

this is obviously not optimal and we discussed it at least once in the past.
in order to fix that we would need to

- keep a flag with ChildNodeEntries implementation indicating whether the complete list has
  read or not.
- by default don't load the child info entries upon entries construction
- populate the ChildNodeEntries lazily
- load all infos only upon calls to Node.getNodes or Node.getNodes(String)
- add a method to ChildNodeEntries that allows to retrieve an interator over all entries
- adjust NodeEntryImpl avoiding that ChildNodeEntries are always built with the 'retrieveAll'

> Redundant calls to RepositoryService.getChildInfos
> --------------------------------------------------
>                 Key: JCR-1638
>                 URL: https://issues.apache.org/jira/browse/JCR-1638
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: jackrabbit-jcr2spi
>            Reporter: Michael Dürig
> In some cases jcr2spi issues calls to RepositoryService.getChildInfos for items which
haven been returned by the last call to RepositoryService.getItemInfos. 
> This happens because WorkspaceItemStateFactory.createDeepPropertyState is asked to create
the node states for all items returned by RepositoryService.getChildInfos in the order they
are returned by the Iterator. When trying to create an item state for an item which is deeper
down the hierarchy than another item which comes later in the iterator, a call to RepositoryService.getChildInfos
is issued for the latter. 

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message