You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by mitziuro <mi...@gmail.com> on 2009/10/14 09:17:25 UTC

Search delay

I'm having a big problem for a relatively small number of nodes (750).
When i'm serching using a session tha uses as principal the
"SystemPrincipal" i obtain the results in less then a second.
When i'm doing the same thing using another principal i get the results in
about 10 SECONDS.
It's anything wrong with my configuration

<?xml version="1.0"?>

<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD
Jackrabbit 1.5//EN"
                            "
http://jackrabbit.apache.org/dtd/repository-1.6.dtd">
<!-- Example Repository Configuration File
     Used by
     - org.apache.jackrabbit.core.config.RepositoryConfigTest.java
     -
-->
<Repository>
    <!--
        virtual file system where the repository stores global state
        (e.g. registered namespaces, custom node types, etc.)
    -->
    <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
        <param name="path" value="${rep.home}/repository"/>
    </FileSystem>

    <!--
        security configuration
    -->
    <Security appName="Jackrabbit">
        <!--
            security manager:
            class: FQN of class implementing the JackrabbitSecurityManager
interface
        -->
        <SecurityManager
class="org.apache.jackrabbit.core.DefaultSecurityManager"
workspaceName="security">
            <!--
            workspace access:
            class: FQN of class implementing the WorkspaceAccessManager
interface
            -->
            <!-- <WorkspaceAccessManager class="..."/> -->
            <!-- <param name="config" value="${rep.home}/security.xml"/> -->
        </SecurityManager>

        <!--
            access manager:
            class: FQN of class implementing the AccessManager interface
        -->
        <AccessManager class="ro.cs.dme.core.security.DMEAccessManager">
            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
        </AccessManager>

        <LoginModule class="ro.cs.dme.core.security.DMELoginModule">
            <param name="principalProvider"
value="ro.cs.dme.core.security.DMEPrincipalProvider"/>
            <param name="anonymousId" value="anonymous"/>
            <param name="adminId" value="DMEAdmin"/>
        </LoginModule>
    </Security>

    <!--
        location of workspaces root directory and name of default workspace
    -->
    <Workspaces rootPath="${rep.home}/workspaces"
defaultWorkspace="DMERepository"/>
    <!--
        workspace configuration template:
        used to create the initial workspace if there's no workspace yet
    -->
    <Workspace name="${wsp.name}">

        <WorkspaceSecurity>
            <AccessControlProvider
class="ro.cs.dme.core.security.DMEACLProvider"/>
        </WorkspaceSecurity>s

        <!--
            virtual file system of the workspace:
            class: FQN of class implementing the FileSystem interface
        -->
        <FileSystem
class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
            <param name="path" value="${wsp.home}"/>
        </FileSystem>
        <!--
            persistence manager of the workspace:
            class: FQN of class implementing the PersistenceManager
interface
        -->

       <PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
               <param name="bundleCacheSize" value="8"/>
             <param name="url" value="jdbc:mysql://localhost:3306/dme2"/>
             <param name="user" value="root"/>
            <param name="password" value="daalnx07"/>
              <param name="minBlobSize" value="16384"/>
              <param name="schemaObjectPrefix" value="${wsp.name}_"/>
       </PersistenceManager>

        <!--
            Search index and the file system it uses.
            class: FQN of class implementing the QueryHandler interface
        -->
        <SearchIndex
class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
            <param name="path" value="${wsp.home}/index"/>
            <!--
            <param name="textFilterClasses"
value="org.apache.jackrabbit.extractor.PlainTextExtractor,org.apache.jackrabbit.extractor.MsWordTextExtractor,org.apache.jackrabbit.extractor.MsExcelTextExtractor,org.apache.jackrabbit.extractor.MsPowerPointTextExtractor,org.apache.jackrabbit.extractor.PdfTextExtractor,org.apache.jackrabbit.extractor.OpenOfficeTextExtractor,org.apache.jackrabbit.extractor.RTFTextExtractor,org.apache.jackrabbit.extractor.HTMLTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
             -->
            <param name="extractorPoolSize" value="2"/>
            <param name="supportHighlighting" value="true"/>
            <param name="respectDocumentOrder" value="true"/>
        </SearchIndex>
    </Workspace>

Re: Search delay

Posted by Marcel Reutegger <ma...@gmx.net>.
Hi,

I guess that's due to your implementation of a custom AccessManager. I
suggest you do some profiling and/or put debug log messages in your
access manager with timing information.

regards
 marcel

On Wed, Oct 14, 2009 at 09:17, mitziuro <mi...@gmail.com> wrote:
> I'm having a big problem for a relatively small number of nodes (750).
> When i'm serching using a session tha uses as principal the
> "SystemPrincipal" i obtain the results in less then a second.
> When i'm doing the same thing using another principal i get the results in
> about 10 SECONDS.
> It's anything wrong with my configuration
>
> <?xml version="1.0"?>
>
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD
> Jackrabbit 1.5//EN"
>                            "
> http://jackrabbit.apache.org/dtd/repository-1.6.dtd">
> <!-- Example Repository Configuration File
>     Used by
>     - org.apache.jackrabbit.core.config.RepositoryConfigTest.java
>     -
> -->
> <Repository>
>    <!--
>        virtual file system where the repository stores global state
>        (e.g. registered namespaces, custom node types, etc.)
>    -->
>    <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>        <param name="path" value="${rep.home}/repository"/>
>    </FileSystem>
>
>    <!--
>        security configuration
>    -->
>    <Security appName="Jackrabbit">
>        <!--
>            security manager:
>            class: FQN of class implementing the JackrabbitSecurityManager
> interface
>        -->
>        <SecurityManager
> class="org.apache.jackrabbit.core.DefaultSecurityManager"
> workspaceName="security">
>            <!--
>            workspace access:
>            class: FQN of class implementing the WorkspaceAccessManager
> interface
>            -->
>            <!-- <WorkspaceAccessManager class="..."/> -->
>            <!-- <param name="config" value="${rep.home}/security.xml"/> -->
>        </SecurityManager>
>
>        <!--
>            access manager:
>            class: FQN of class implementing the AccessManager interface
>        -->
>        <AccessManager class="ro.cs.dme.core.security.DMEAccessManager">
>            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
>        </AccessManager>
>
>        <LoginModule class="ro.cs.dme.core.security.DMELoginModule">
>            <param name="principalProvider"
> value="ro.cs.dme.core.security.DMEPrincipalProvider"/>
>            <param name="anonymousId" value="anonymous"/>
>            <param name="adminId" value="DMEAdmin"/>
>        </LoginModule>
>    </Security>
>
>    <!--
>        location of workspaces root directory and name of default workspace
>    -->
>    <Workspaces rootPath="${rep.home}/workspaces"
> defaultWorkspace="DMERepository"/>
>    <!--
>        workspace configuration template:
>        used to create the initial workspace if there's no workspace yet
>    -->
>    <Workspace name="${wsp.name}">
>
>        <WorkspaceSecurity>
>            <AccessControlProvider
> class="ro.cs.dme.core.security.DMEACLProvider"/>
>        </WorkspaceSecurity>s
>
>        <!--
>            virtual file system of the workspace:
>            class: FQN of class implementing the FileSystem interface
>        -->
>        <FileSystem
> class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>            <param name="path" value="${wsp.home}"/>
>        </FileSystem>
>        <!--
>            persistence manager of the workspace:
>            class: FQN of class implementing the PersistenceManager
> interface
>        -->
>
>       <PersistenceManager
> class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
>               <param name="bundleCacheSize" value="8"/>
>             <param name="url" value="jdbc:mysql://localhost:3306/dme2"/>
>             <param name="user" value="root"/>
>            <param name="password" value="daalnx07"/>
>              <param name="minBlobSize" value="16384"/>
>              <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>       </PersistenceManager>
>
>        <!--
>            Search index and the file system it uses.
>            class: FQN of class implementing the QueryHandler interface
>        -->
>        <SearchIndex
> class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>            <param name="path" value="${wsp.home}/index"/>
>            <!--
>            <param name="textFilterClasses"
> value="org.apache.jackrabbit.extractor.PlainTextExtractor,org.apache.jackrabbit.extractor.MsWordTextExtractor,org.apache.jackrabbit.extractor.MsExcelTextExtractor,org.apache.jackrabbit.extractor.MsPowerPointTextExtractor,org.apache.jackrabbit.extractor.PdfTextExtractor,org.apache.jackrabbit.extractor.OpenOfficeTextExtractor,org.apache.jackrabbit.extractor.RTFTextExtractor,org.apache.jackrabbit.extractor.HTMLTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>             -->
>            <param name="extractorPoolSize" value="2"/>
>            <param name="supportHighlighting" value="true"/>
>            <param name="respectDocumentOrder" value="true"/>
>        </SearchIndex>
>    </Workspace>
>