You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Michael Dürig (JIRA)" <ji...@apache.org> on 2010/03/08 15:08:27 UTC

[jira] Created: (JCR-2549) Node#getNodes can cause many server round trips

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.


[jira] Commented: (JCR-2549) Node#getNodes can cause many server round trips

Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
    [ 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.