On Wed, Nov 28, 2007 at 09:28:53PM +0100, Ard Schrijvers wrote:
> 
> > 
> > Hi,
> > 
> > On Nov 28, 2007 7:54 PM, Eugeny N Dzhurinsky <[EMAIL PROTECTED]> wrote:
> > > So in general the entire tree has several domain nodes, and each 
> > > domain node hash set of a nodes which hold the content of domain 
> > > object for given date, and each date node has a lot (up to 
> > several millions) of child nodes.
> 
> > Jukka Zitting wrote:
> > The large number of child nodes per a "date" node is a clear 
> > warning sign. Accessing a node with a large number (>10k) of 
> > direct child nodes is expensive.
> > 
> > Can you rearrange the child nodes to a subtree hierarchy?
> I really assumed he meant several millions of child nodes as in several
> million descendants...I just cannot believe Eugeny is talking about
> millions of child nodes without any hierarchy. 

In fact, this is my case - we have a lot of same level child nodes for a set
of parent nodes.

> Though, an XPath query won't be slower for a flat distribution if I am
> correct (actually faster because the hierarchy resolver has an easier
> job), but he also seems to suffer from queries that do not perform. 
> 
> Anyway, Eugeny, can you provide us the missing information?

Sure, the repository configuration is:

=====================================================================================
<?xml version="1.0"?>
<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 
1.2//EN"
                            
"http://jackrabbit.apache.org/dtd/repository-1.2.dtd";>
<Repository>
   
    <FileSystem class="our.custom.filesystem">
                <param name="path" value="${rep.home}/repository"/>
    </FileSystem>
 
    <Security appName="Jackrabbit">
        
        <AccessManager 
class="org.apache.jackrabbit.core.security.SimpleAccessManager">
        </AccessManager>

        <LoginModule 
class="org.apache.jackrabbit.core.security.SimpleLoginModule">          
           <param name="anonymousId" value="anonymous"/>       
        </LoginModule>

    </Security>
  
    <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
    
    <Workspace name="${wsp.name}">
        
        <FileSystem class="our.custom.filesystem">
                                        <param name="path" value="${wsp.home}"/>
        </FileSystem>

           <PersistenceManager 
class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager">
                                        <param name="bundleCacheSize" 
value="8"/> 
                                        <param name="blobFSBlockSize" 
value="0"/> 
                                        <param name="blobFSInitialCacheSize" 
value="100"/> 
                                        <param name="blobFSMaximumCacheSize" 
value="4000"/> 
                                        <param name="blobFSBlockSize" 
value="0"/> 
                                        <param name="blobFSInitialCacheSize" 
value="100"/> 
                                        <param name="blobFSMaximumCacheSize" 
value="4000"/> 
                                        <param name="errorHandling" value=""/>
        </PersistenceManager>
        
        <SearchIndex 
class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
            <param name="path" value="${wsp.home}/index"/>
        </SearchIndex>
        
    </Workspace>

    <Versioning rootPath="${rep.home}/version">
        
        <FileSystem class="our.custom.filesystem">
             <param name="path" value="${rep.home}/version" />
        </FileSystem>
        
        <PersistenceManager 
class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager">
                                        <param name="bundleCacheSize" 
value="8"/> 
                                        <param name="blobFSBlockSize" 
value="0"/> 
                                        <param name="blobFSInitialCacheSize" 
value="100"/> 
                                        <param name="blobFSMaximumCacheSize" 
value="4000"/> 
                                        <param name="blobFSBlockSize" 
value="0"/> 
                                        <param name="blobFSInitialCacheSize" 
value="100"/> 
                                        <param name="blobFSMaximumCacheSize" 
value="4000"/>  
                                        <param name="errorHandling" value=""/>
        </PersistenceManager>

    </Versioning>

    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> 
        <param name="path" value="${rep.home}/repository/index"/> 
    </SearchIndex>

</Repository>
=====================================================================================

We are using JackRabbit 1.3.

I will post XPATH queries we're concerning of a bit later, however if having a
lot of child nodes for a node may cause performance issues, we'll try to
re-arrange the nodes first.

Thank you for quick and prompt reply!

-- 
Eugene N Dzhurinsky

Attachment: pgph2ljiFtSDf.pgp
Description: PGP signature

Reply via email to