jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ivan Latysh <ivanlat...@gmail.com>
Subject Re: Some questions when large data sets exists
Date Wed, 05 Nov 2008 15:25:10 GMT
lujie wrote:

>     1. The accessmanager's performance. See i have 10000 nodes for query, i
> know there only fifty nodes that i have access to read. But in the worst
> situation, the fifty nodes is count between 8000 to 8050. So,i have to
> iterator to skip previous 7999 nodes to get the actual result, the skipping
> is not just without loading the node, because accessmanage must check the
> access right.
>         what i'm doing is using xpath such as @jcr:contains("reader
> access","admin") to avoid loading much nodes. But you see, this is not a
> usual way.
   I have implemented access manager for our application that read permissions 
from the repository, similar set-up. And experienced very similar problems.
   First, want to make sure that you are aware that access manager lifespan is 
the same as a session, so each session will have it's own manager.
   Second be prepared to receive 1-2 million requests to fetch a few hundred nodes.
   So the best approach is to cache access rights. We do it by XPath that allow 
for some optimization, for instance if `/jcr:root/node1` is read-only so any 
path that start from `/jcr:root/node1` is read-only, and decision can be made 
without fetching the node again.

Ivan Latysh

View raw message