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