[ https://issues.apache.org/jira/browse/JCR-2549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12842670#action_12842670 ]
Michael Dürig commented on JCR-2549: ------------------------------------ The fundamental problem here is that, the SPI implementations makes some assumption on the client's requirements when passing back a batch. In this case the assumption is, that whenever the client reads a node, it will most likely also read some of its child items later on. However, in the above case this assumption is wrong. Instead of the children of a given node, subsequent read target the *siblings* of that node. To fix this, we need a mechanism to send hints about what to include in a batch to the SPI (i.e. children of the target node vs. siblings of the target node in the above case). > Node#getNodes can cause many server round trips > ----------------------------------------------- > > Key: JCR-2549 > URL: https://issues.apache.org/jira/browse/JCR-2549 > Project: Jackrabbit Content Repository > Issue Type: Improvement > Components: jackrabbit-jcr2spi > Affects Versions: 2.1.0 > Reporter: Michael Dürig > > The call to Node#getNodes sometimes causes many server round trips: > Assume the spi implementation (for example DavEx) is configured for batch > reading with a depth 3: > Node c = session.getNode(/a/b/c) > c.getNodes() > the getNodes call on c causes a round trip to the server for each child of c > since c itself is in the cache but with the depth of 3 none of its children > is in the cache. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.