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

Reply via email to