You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Dipu <di...@googlemail.com> on 2009/03/18 17:41:19 UTC

Re: Exception while creating workspace created on another cluster node

Hi,

This is how my repository.xml looks, can someone check if there is
anything wrong
with my configuration that's resulting in the failure please.

<?xml version="1.0"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD
Jackrabbit 1.5//EN"

"http://jackrabbit.apache.org/dtd/repository-1.5.dtd">
<!-- Example Repository Configuration File -->
<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>
    -->
    <!--
	Database File System (Cluster Configuration)
	-->
	
	<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
		<param name="driver" value="org.postgresql.Driver"/>
		<param name="url" value="jdbc:postgresql://url" />
		<param name="user" value="user" />
		<param name="password" value="pwd" />
		<param name="schema" value="postgresql"/>
		<param name="schemaObjectPrefix" value="J_R_FS_"/>
	</FileSystem>
	
    <!--
        security configuration
    -->
    <Security appName="Jackrabbit">
        <!--
            access manager:
            class: FQN of class implementing the AccessManager interface
        -->
        <AccessManager
class="org.apache.jackrabbit.core.security.SimpleAccessManager">
            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
        </AccessManager>

        <LoginModule
class="org.apache.jackrabbit.core.security.SimpleLoginModule">
           <!-- anonymous user name ('anonymous' is the default value) -->
           <param name="anonymousId" value="anonymous"/>
           <!--
              default user name to be used instead of the anonymous user
              when no login credentials are provided (unset by default)
           -->
           <!-- <param name="defaultUserId" value="superuser"/> -->
        </LoginModule>
    </Security>

    <!--
        location of workspaces root directory and name of default workspace
    -->

   <Workspaces rootPath="${rep.home}/workspaces"
defaultWorkspace="default" configRootPath="/configRootPath"/>

    <!--
        workspace configuration template:
        used to create the initial workspace if there's no workspace yet
    -->
    <Workspace name="${wsp.name}">
        <!--
            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>
        -->
        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
			<param name="driver" value="org.postgresql.Driver"/>
			<param name="url" value="jdbc:postgresql://url" />
			<param name="user" value="user" />
			<param name="password" value="pwd" />
			<param name="schema" value="postgresql"/>
			<param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/>
		</FileSystem>
		
        <!--
            persistence manager of the workspace:
            class: FQN of class implementing the PersistenceManager interface
        -->

        <!--
        <PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
          <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
        </PersistenceManager>
        -->

         <PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
        	<param name="url" value="jdbc:postgresql://url"/>
        	<param name="user" value="user"/>
        	<param name="password" value="pwd"/>
        	<param name="schemaObjectPrefix" value="J_PM_${wsp.name}_"/>
        	<param name="externalBLOBs" value="false"/>        	
        </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.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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
            <param name="extractorPoolSize " value="2"/>
            <param name="supportHighlighting" value="true"/>
        </SearchIndex>

        <ISMLocking
class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>

    </Workspace>

    <!--
        Configures the versioning
    -->
    <Versioning rootPath="${rep.home}/version">
        <!--
            Configures the filesystem to use for versioning for the respective
            persistence manager
        -->
        <!--
        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
            <param name="path" value="${rep.home}/version" />
        </FileSystem>
         -->
         <!--
		Database File System and Persistence (Cluster Configuration)
		-->
		
		<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
			<param name="driver" value="org.postgresql.Driver"/>
			<param name="url" value="jdbc:postgresql://url" />
			<param name="user" value="user" />
			<param name="password" value="pwd" />
			<param name="schema" value="postgresql"/>
			<param name="schemaObjectPrefix" value="J_V_FS_"/>
		</FileSystem>
		
        <!--
            Configures the persistence manager to be used for
persisting version state.
            Please note that the current versioning implementation is based on
            a 'normal' persistence manager, but this could change in future
            implementations.
        -->
        <!--
        <PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
          <param name="url"
value="jdbc:derby:${rep.home}/version/db;create=true"/>
          <param name="schemaObjectPrefix" value="version_"/>
        </PersistenceManager>
         -->
         <PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
        	<param name="url" value="dbc:postgresql://url"/>
        	<param name="user" value="user"/>
        	<param name="password" value="pwd"/>
        	<param name="schemaObjectPrefix" value="J_V_PM_"/>
        	<param name="externalBLOBs" value="false"/>        	
        </PersistenceManager>

        <ISMLocking
class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>

    </Versioning>

    <!--
        Search index for content that is shared repository wide
        (/jcr:system tree, contains mainly versions)
    -->
    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
        <param name="path" value="${rep.home}/repository/index"/>
        <param name="textFilterClasses"
value="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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
        <param name="extractorPoolSize " value="2"/>
        <param name="supportHighlighting" value="true"/>
    </SearchIndex>


   <!--
	Cluster Configuration
	-->

	<Cluster id="dev_node_hestia" syncDelay="5">
		<Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
			<param name="revision" value="${rep.home}/revision"/>
			<param name="driver" value="org.postgresql.Driver"/>
			<param name="url" value="jdbc:postgresql://url" />
			<param name="user" value="user" />
			<param name="password" value="pwd" />
			<param name="schema" value="postgresql"/>
			<param name="schemaObjectPrefix" value="J_C_"/>
		</Journal>
    </Cluster>

	
	<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
		<param name="url" value="jdbc:postgresql://url" />
		<param name="user" value="user" />
		<param name="password" value="pwd" />
		<param name="databaseType" value="postgresql" />
		<param name="driver" value="org.postgresql.Driver" />
		<param name="minRecordLength" value="1024" />
		<param name="maxConnections" value="3" />
		<param name="copyWhenReading" value="true" />
	</DataStore>


</Repository>


Thanks
Dipu

Re: Exception while creating workspace created on another cluster node

Posted by Dipu <di...@googlemail.com>.
many thanks

Regards
Dipu

On Wed, Apr 22, 2009 at 3:06 PM, Thomas Müller <th...@day.com> wrote:
> Hi,
>
> Sorry for the delay. Unfortunately I can't answer all your questions...
>
>> Does each cluster node need its own FileSystem for *all* of these, or
>> only the repository and versioning?
>
> I think all components need their own file system.
>
>> Finally, all the clustering examples we've come across use the
>> LocalFileSystem. Is there a particular reason for this? We'd like to
>> use the DBFileSystem - is this likely to cause us any problems?
>
> I think using a DBFileSystem should work as well.
>
> Regards,
> Thomas
>

Re: Exception while creating workspace created on another cluster node

Posted by Thomas Müller <th...@day.com>.
Hi,

Sorry for the delay. Unfortunately I can't answer all your questions...

> Does each cluster node need its own FileSystem for *all* of these, or
> only the repository and versioning?

I think all components need their own file system.

> Finally, all the clustering examples we've come across use the
> LocalFileSystem. Is there a particular reason for this? We'd like to
> use the DBFileSystem - is this likely to cause us any problems?

I think using a DBFileSystem should work as well.

Regards,
Thomas

Re: Exception while creating workspace created on another cluster node

Posted by Dipu <di...@googlemail.com>.
Hi all,

Sorry for reposting the same question again and being a pain, can
someone with more understanding of jackrabbit help me with these
questions please

We managed to work around issue JCR-1558 by re-registering the custom
namespaces on the cluster node start up.

Just to be entirely clear on this, the repository.xml file has 3
FileSystems defined:
 - for repository
 - for workspaces
 - for versioning
Does each cluster node need its own FileSystem for *all* of these, or
only the repository and versioning?

Finally, all the clustering examples we've come across use the
LocalFileSystem. Is there a particular reason for this? We'd like to
use the DBFileSystem - is this likely to cause us any problems?

Thanks for everything.
Dipu

On Wed, Apr 1, 2009 at 2:01 PM, Thomas Müller <th...@day.com> wrote:
> Hi,
>
> It looks like a different problem. Can you reproduce this problem
> starting with an empty repository?
>
> Regards,
> Thomas
>
>
> On Wed, Apr 1, 2009 at 3:53 PM, Dipu <di...@googlemail.com> wrote:
>> Hi all,
>>
>> It looks like the problem i am getting now is what mentioned here
>> https://issues.apache.org/jira/browse/JCR-1558
>>
>> Is it an issue or is it again some thing configured wrongly in my repository.xml
>>
>> Thanks & Regards
>> Dipu
>>
>> On Thu, Mar 19, 2009 at 12:51 PM, Thomas Müller <th...@day.com> wrote:
>>> Hi,
>>>
>>> Most likely the problem is that both cluster nodes point to the same
>>> file system. I have updated the documentation at
>>> http://wiki.apache.org/jackrabbit/Clustering
>>>
>>> "Clustering in Jackrabbit works as follows: content is shared between
>>> all cluster nodes. That means all Jackrabbit cluster nodes need access
>>> to the SAME persistent storage (persistence manager and data store).
>>> However, each cluster node needs its own (private) FileSystem and
>>> search index. "
>>>
>>> Regards,
>>> Thomas
>>>
>>>
>>>
>>> 2009/3/19 Dipu <di...@googlemail.com>:
>>>> Hi Thomas,
>>>>
>>>> Thanks for the reply.
>>>>
>>>> This is the error message that gets logged, there is no stacktrace
>>>>
>>>> 2009-03-19 11:19:19:046 ERROR
>>>> org.apache.jackrabbit.core.cluster.ClusterNode
>>>> [ClusterNode-dev_node_hestia] - Unable to create workspace: failed to
>>>> create workspace configuration at path
>>>> /configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54/workspace.xml:
>>>> file system entry already exists:
>>>> /configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54
>>>>
>>>> createFolder  method in DatabaseFileSystem class is throwing the
>>>> new FileSystemException("file system entry already exists: " +
>>>> folderPath); which gets propagated and ClusterNode.process method logs
>>>> it.
>>>>
>>>> this is how the real URL looks
>>>>
>>>> <param name="url" value="jdbc:postgresql://something.production.mcom/dbname" />
>>>>
>>>> we connect to the DB fine and i don't think there is any problem there.
>>>>
>>>> Regards
>>>> Dipu
>>>>
>>>>
>>>> 2009/3/19 Thomas Müller <th...@day.com>:
>>>>> Hi,
>>>>>
>>>>> Could you post the exception message and stack trace please?
>>>>>
>>>>> <param name="url" value="jdbc:postgresql://url" />
>>>>>
>>>>> Could you also include the real URL?
>>>>>
>>>>> Regards,
>>>>> Thomas
>>>>>
>>>>>
>>>>> On Wed, Mar 18, 2009 at 5:41 PM, Dipu <di...@googlemail.com> wrote:
>>>>>> Hi,
>>>>>>
>>>>>> This is how my repository.xml looks, can someone check if there is
>>>>>> anything wrong
>>>>>> with my configuration that's resulting in the failure please.
>>>>>>
>>>>>> <?xml version="1.0"?>
>>>>>> <!--
>>>>>>   Licensed to the Apache Software Foundation (ASF) under one or more
>>>>>>   contributor license agreements.  See the NOTICE file distributed with
>>>>>>   this work for additional information regarding copyright ownership.
>>>>>>   The ASF licenses this file to You under the Apache License, Version 2.0
>>>>>>   (the "License"); you may not use this file except in compliance with
>>>>>>   the License.  You may obtain a copy of the License at
>>>>>>
>>>>>>       http://www.apache.org/licenses/LICENSE-2.0
>>>>>>
>>>>>>   Unless required by applicable law or agreed to in writing, software
>>>>>>   distributed under the License is distributed on an "AS IS" BASIS,
>>>>>>   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>>>>>>   See the License for the specific language governing permissions and
>>>>>>   limitations under the License.
>>>>>> -->
>>>>>> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD
>>>>>> Jackrabbit 1.5//EN"
>>>>>>
>>>>>> "http://jackrabbit.apache.org/dtd/repository-1.5.dtd">
>>>>>> <!-- Example Repository Configuration File -->
>>>>>> <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>
>>>>>>    -->
>>>>>>    <!--
>>>>>>        Database File System (Cluster Configuration)
>>>>>>        -->
>>>>>>
>>>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>>>                <param name="driver" value="org.postgresql.Driver"/>
>>>>>>                <param name="url" value="jdbc:postgresql://url" />
>>>>>>                <param name="user" value="user" />
>>>>>>                <param name="password" value="pwd" />
>>>>>>                <param name="schema" value="postgresql"/>
>>>>>>                <param name="schemaObjectPrefix" value="J_R_FS_"/>
>>>>>>        </FileSystem>
>>>>>>
>>>>>>    <!--
>>>>>>        security configuration
>>>>>>    -->
>>>>>>    <Security appName="Jackrabbit">
>>>>>>        <!--
>>>>>>            access manager:
>>>>>>            class: FQN of class implementing the AccessManager interface
>>>>>>        -->
>>>>>>        <AccessManager
>>>>>> class="org.apache.jackrabbit.core.security.SimpleAccessManager">
>>>>>>            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
>>>>>>        </AccessManager>
>>>>>>
>>>>>>        <LoginModule
>>>>>> class="org.apache.jackrabbit.core.security.SimpleLoginModule">
>>>>>>           <!-- anonymous user name ('anonymous' is the default value) -->
>>>>>>           <param name="anonymousId" value="anonymous"/>
>>>>>>           <!--
>>>>>>              default user name to be used instead of the anonymous user
>>>>>>              when no login credentials are provided (unset by default)
>>>>>>           -->
>>>>>>           <!-- <param name="defaultUserId" value="superuser"/> -->
>>>>>>        </LoginModule>
>>>>>>    </Security>
>>>>>>
>>>>>>    <!--
>>>>>>        location of workspaces root directory and name of default workspace
>>>>>>    -->
>>>>>>
>>>>>>   <Workspaces rootPath="${rep.home}/workspaces"
>>>>>> defaultWorkspace="default" configRootPath="/configRootPath"/>
>>>>>>
>>>>>>    <!--
>>>>>>        workspace configuration template:
>>>>>>        used to create the initial workspace if there's no workspace yet
>>>>>>    -->
>>>>>>    <Workspace name="${wsp.name}">
>>>>>>        <!--
>>>>>>            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>
>>>>>>        -->
>>>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>>>                        <param name="user" value="user" />
>>>>>>                        <param name="password" value="pwd" />
>>>>>>                        <param name="schema" value="postgresql"/>
>>>>>>                        <param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/>
>>>>>>                </FileSystem>
>>>>>>
>>>>>>        <!--
>>>>>>            persistence manager of the workspace:
>>>>>>            class: FQN of class implementing the PersistenceManager interface
>>>>>>        -->
>>>>>>
>>>>>>        <!--
>>>>>>        <PersistenceManager
>>>>>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>>>>>          <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
>>>>>>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>>>>>>        </PersistenceManager>
>>>>>>        -->
>>>>>>
>>>>>>         <PersistenceManager
>>>>>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>>>>>                <param name="url" value="jdbc:postgresql://url"/>
>>>>>>                <param name="user" value="user"/>
>>>>>>                <param name="password" value="pwd"/>
>>>>>>                <param name="schemaObjectPrefix" value="J_PM_${wsp.name}_"/>
>>>>>>                <param name="externalBLOBs" value="false"/>
>>>>>>        </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.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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>>>>>            <param name="extractorPoolSize " value="2"/>
>>>>>>            <param name="supportHighlighting" value="true"/>
>>>>>>        </SearchIndex>
>>>>>>
>>>>>>        <ISMLocking
>>>>>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>>>>>
>>>>>>    </Workspace>
>>>>>>
>>>>>>    <!--
>>>>>>        Configures the versioning
>>>>>>    -->
>>>>>>    <Versioning rootPath="${rep.home}/version">
>>>>>>        <!--
>>>>>>            Configures the filesystem to use for versioning for the respective
>>>>>>            persistence manager
>>>>>>        -->
>>>>>>        <!--
>>>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>>>>>>            <param name="path" value="${rep.home}/version" />
>>>>>>        </FileSystem>
>>>>>>         -->
>>>>>>         <!--
>>>>>>                Database File System and Persistence (Cluster Configuration)
>>>>>>                -->
>>>>>>
>>>>>>                <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>>>                        <param name="user" value="user" />
>>>>>>                        <param name="password" value="pwd" />
>>>>>>                        <param name="schema" value="postgresql"/>
>>>>>>                        <param name="schemaObjectPrefix" value="J_V_FS_"/>
>>>>>>                </FileSystem>
>>>>>>
>>>>>>        <!--
>>>>>>            Configures the persistence manager to be used for
>>>>>> persisting version state.
>>>>>>            Please note that the current versioning implementation is based on
>>>>>>            a 'normal' persistence manager, but this could change in future
>>>>>>            implementations.
>>>>>>        -->
>>>>>>        <!--
>>>>>>        <PersistenceManager
>>>>>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>>>>>          <param name="url"
>>>>>> value="jdbc:derby:${rep.home}/version/db;create=true"/>
>>>>>>          <param name="schemaObjectPrefix" value="version_"/>
>>>>>>        </PersistenceManager>
>>>>>>         -->
>>>>>>         <PersistenceManager
>>>>>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>>>>>                <param name="url" value="dbc:postgresql://url"/>
>>>>>>                <param name="user" value="user"/>
>>>>>>                <param name="password" value="pwd"/>
>>>>>>                <param name="schemaObjectPrefix" value="J_V_PM_"/>
>>>>>>                <param name="externalBLOBs" value="false"/>
>>>>>>        </PersistenceManager>
>>>>>>
>>>>>>        <ISMLocking
>>>>>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>>>>>
>>>>>>    </Versioning>
>>>>>>
>>>>>>    <!--
>>>>>>        Search index for content that is shared repository wide
>>>>>>        (/jcr:system tree, contains mainly versions)
>>>>>>    -->
>>>>>>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>>>>>>        <param name="path" value="${rep.home}/repository/index"/>
>>>>>>        <param name="textFilterClasses"
>>>>>> value="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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>>>>>        <param name="extractorPoolSize " value="2"/>
>>>>>>        <param name="supportHighlighting" value="true"/>
>>>>>>    </SearchIndex>
>>>>>>
>>>>>>
>>>>>>   <!--
>>>>>>        Cluster Configuration
>>>>>>        -->
>>>>>>
>>>>>>        <Cluster id="dev_node_hestia" syncDelay="5">
>>>>>>                <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
>>>>>>                        <param name="revision" value="${rep.home}/revision"/>
>>>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>>>                        <param name="user" value="user" />
>>>>>>                        <param name="password" value="pwd" />
>>>>>>                        <param name="schema" value="postgresql"/>
>>>>>>                        <param name="schemaObjectPrefix" value="J_C_"/>
>>>>>>                </Journal>
>>>>>>    </Cluster>
>>>>>>
>>>>>>
>>>>>>        <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
>>>>>>                <param name="url" value="jdbc:postgresql://url" />
>>>>>>                <param name="user" value="user" />
>>>>>>                <param name="password" value="pwd" />
>>>>>>                <param name="databaseType" value="postgresql" />
>>>>>>                <param name="driver" value="org.postgresql.Driver" />
>>>>>>                <param name="minRecordLength" value="1024" />
>>>>>>                <param name="maxConnections" value="3" />
>>>>>>                <param name="copyWhenReading" value="true" />
>>>>>>        </DataStore>
>>>>>>
>>>>>>
>>>>>> </Repository>
>>>>>>
>>>>>>
>>>>>> Thanks
>>>>>> Dipu
>>>>>>
>>>>>
>>>>
>>>
>>
>

Re: Exception while creating workspace created on another cluster node

Posted by Dipu <di...@googlemail.com>.
Hi,

We managed to work around issue JCR-1558 by re-registering the custom
namespaces on the cluster node start up.

Just to be entirely clear on this, the repository.xml file has 3
FileSystems defined:
 - for repository
 - for workspaces
 - for versioning
Does each cluster node need its own FileSystem for *all* of these, or
only the repository and versioning?

Finally, all the clustering examples we've come across use the
LocalFileSystem. Is there a particular reason for this? We'd like to
use the DBFileSystem - is this likely to cause us any problems?

Thanks for everything.
Dipu

On Wed, Apr 1, 2009 at 3:30 PM, Dipu <di...@googlemail.com> wrote:
> Hi Thomas,
>
> Thank you for the rapid reply. We cannot reproduce the problem
> starting a node with an empty repository. The problem only appears
> when:
>
> - Cluster Node 1 is started against an empty repository and creates a
> workspace, registering custom namespaces and nodetypes (Cluster Node 1
> starts up without issue)
>
> - Cluster Node 2 is started up without a copy of the custom namespace
> and nodetype definitions in its own FileSystem (Cluster Node 2 fails
> to start up)
>
> It looks like issue JCR-1558 matches the problem I'm having exactly.
> Is there any work planned on that particular issue? I ask because the
> custom namespaces and nodetypes are something we can't realistically
> get away from, as we are using Brix, which makes use of these.
>
> Thanks & Regards
> Dipu
>
>
>
>
> On Wed, Apr 1, 2009 at 2:01 PM, Thomas Müller <th...@day.com> wrote:
>> Hi,
>>
>> It looks like a different problem. Can you reproduce this problem
>> starting with an empty repository?
>>
>> Regards,
>> Thomas
>>
>>
>> On Wed, Apr 1, 2009 at 3:53 PM, Dipu <di...@googlemail.com> wrote:
>>> Hi all,
>>>
>>> It looks like the problem i am getting now is what mentioned here
>>> https://issues.apache.org/jira/browse/JCR-1558
>>>
>>> Is it an issue or is it again some thing configured wrongly in my repository.xml
>>>
>>> Thanks & Regards
>>> Dipu
>>>
>>> On Thu, Mar 19, 2009 at 12:51 PM, Thomas Müller <th...@day.com> wrote:
>>>> Hi,
>>>>
>>>> Most likely the problem is that both cluster nodes point to the same
>>>> file system. I have updated the documentation at
>>>> http://wiki.apache.org/jackrabbit/Clustering
>>>>
>>>> "Clustering in Jackrabbit works as follows: content is shared between
>>>> all cluster nodes. That means all Jackrabbit cluster nodes need access
>>>> to the SAME persistent storage (persistence manager and data store).
>>>> However, each cluster node needs its own (private) FileSystem and
>>>> search index. "
>>>>
>>>> Regards,
>>>> Thomas
>>>>
>>>>
>>>>
>>>> 2009/3/19 Dipu <di...@googlemail.com>:
>>>>> Hi Thomas,
>>>>>
>>>>> Thanks for the reply.
>>>>>
>>>>> This is the error message that gets logged, there is no stacktrace
>>>>>
>>>>> 2009-03-19 11:19:19:046 ERROR
>>>>> org.apache.jackrabbit.core.cluster.ClusterNode
>>>>> [ClusterNode-dev_node_hestia] - Unable to create workspace: failed to
>>>>> create workspace configuration at path
>>>>> /configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54/workspace.xml:
>>>>> file system entry already exists:
>>>>> /configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54
>>>>>
>>>>> createFolder  method in DatabaseFileSystem class is throwing the
>>>>> new FileSystemException("file system entry already exists: " +
>>>>> folderPath); which gets propagated and ClusterNode.process method logs
>>>>> it.
>>>>>
>>>>> this is how the real URL looks
>>>>>
>>>>> <param name="url" value="jdbc:postgresql://something.production.mcom/dbname" />
>>>>>
>>>>> we connect to the DB fine and i don't think there is any problem there.
>>>>>
>>>>> Regards
>>>>> Dipu
>>>>>
>>>>>
>>>>> 2009/3/19 Thomas Müller <th...@day.com>:
>>>>>> Hi,
>>>>>>
>>>>>> Could you post the exception message and stack trace please?
>>>>>>
>>>>>> <param name="url" value="jdbc:postgresql://url" />
>>>>>>
>>>>>> Could you also include the real URL?
>>>>>>
>>>>>> Regards,
>>>>>> Thomas
>>>>>>
>>>>>>
>>>>>> On Wed, Mar 18, 2009 at 5:41 PM, Dipu <di...@googlemail.com> wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> This is how my repository.xml looks, can someone check if there is
>>>>>>> anything wrong
>>>>>>> with my configuration that's resulting in the failure please.
>>>>>>>
>>>>>>> <?xml version="1.0"?>
>>>>>>> <!--
>>>>>>>   Licensed to the Apache Software Foundation (ASF) under one or more
>>>>>>>   contributor license agreements.  See the NOTICE file distributed with
>>>>>>>   this work for additional information regarding copyright ownership.
>>>>>>>   The ASF licenses this file to You under the Apache License, Version 2.0
>>>>>>>   (the "License"); you may not use this file except in compliance with
>>>>>>>   the License.  You may obtain a copy of the License at
>>>>>>>
>>>>>>>       http://www.apache.org/licenses/LICENSE-2.0
>>>>>>>
>>>>>>>   Unless required by applicable law or agreed to in writing, software
>>>>>>>   distributed under the License is distributed on an "AS IS" BASIS,
>>>>>>>   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>>>>>>>   See the License for the specific language governing permissions and
>>>>>>>   limitations under the License.
>>>>>>> -->
>>>>>>> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD
>>>>>>> Jackrabbit 1.5//EN"
>>>>>>>
>>>>>>> "http://jackrabbit.apache.org/dtd/repository-1.5.dtd">
>>>>>>> <!-- Example Repository Configuration File -->
>>>>>>> <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>
>>>>>>>    -->
>>>>>>>    <!--
>>>>>>>        Database File System (Cluster Configuration)
>>>>>>>        -->
>>>>>>>
>>>>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>>>>                <param name="driver" value="org.postgresql.Driver"/>
>>>>>>>                <param name="url" value="jdbc:postgresql://url" />
>>>>>>>                <param name="user" value="user" />
>>>>>>>                <param name="password" value="pwd" />
>>>>>>>                <param name="schema" value="postgresql"/>
>>>>>>>                <param name="schemaObjectPrefix" value="J_R_FS_"/>
>>>>>>>        </FileSystem>
>>>>>>>
>>>>>>>    <!--
>>>>>>>        security configuration
>>>>>>>    -->
>>>>>>>    <Security appName="Jackrabbit">
>>>>>>>        <!--
>>>>>>>            access manager:
>>>>>>>            class: FQN of class implementing the AccessManager interface
>>>>>>>        -->
>>>>>>>        <AccessManager
>>>>>>> class="org.apache.jackrabbit.core.security.SimpleAccessManager">
>>>>>>>            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
>>>>>>>        </AccessManager>
>>>>>>>
>>>>>>>        <LoginModule
>>>>>>> class="org.apache.jackrabbit.core.security.SimpleLoginModule">
>>>>>>>           <!-- anonymous user name ('anonymous' is the default value) -->
>>>>>>>           <param name="anonymousId" value="anonymous"/>
>>>>>>>           <!--
>>>>>>>              default user name to be used instead of the anonymous user
>>>>>>>              when no login credentials are provided (unset by default)
>>>>>>>           -->
>>>>>>>           <!-- <param name="defaultUserId" value="superuser"/> -->
>>>>>>>        </LoginModule>
>>>>>>>    </Security>
>>>>>>>
>>>>>>>    <!--
>>>>>>>        location of workspaces root directory and name of default workspace
>>>>>>>    -->
>>>>>>>
>>>>>>>   <Workspaces rootPath="${rep.home}/workspaces"
>>>>>>> defaultWorkspace="default" configRootPath="/configRootPath"/>
>>>>>>>
>>>>>>>    <!--
>>>>>>>        workspace configuration template:
>>>>>>>        used to create the initial workspace if there's no workspace yet
>>>>>>>    -->
>>>>>>>    <Workspace name="${wsp.name}">
>>>>>>>        <!--
>>>>>>>            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>
>>>>>>>        -->
>>>>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>>>>                        <param name="user" value="user" />
>>>>>>>                        <param name="password" value="pwd" />
>>>>>>>                        <param name="schema" value="postgresql"/>
>>>>>>>                        <param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/>
>>>>>>>                </FileSystem>
>>>>>>>
>>>>>>>        <!--
>>>>>>>            persistence manager of the workspace:
>>>>>>>            class: FQN of class implementing the PersistenceManager interface
>>>>>>>        -->
>>>>>>>
>>>>>>>        <!--
>>>>>>>        <PersistenceManager
>>>>>>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>>>>>>          <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
>>>>>>>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>>>>>>>        </PersistenceManager>
>>>>>>>        -->
>>>>>>>
>>>>>>>         <PersistenceManager
>>>>>>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>>>>>>                <param name="url" value="jdbc:postgresql://url"/>
>>>>>>>                <param name="user" value="user"/>
>>>>>>>                <param name="password" value="pwd"/>
>>>>>>>                <param name="schemaObjectPrefix" value="J_PM_${wsp.name}_"/>
>>>>>>>                <param name="externalBLOBs" value="false"/>
>>>>>>>        </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.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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>>>>>>            <param name="extractorPoolSize " value="2"/>
>>>>>>>            <param name="supportHighlighting" value="true"/>
>>>>>>>        </SearchIndex>
>>>>>>>
>>>>>>>        <ISMLocking
>>>>>>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>>>>>>
>>>>>>>    </Workspace>
>>>>>>>
>>>>>>>    <!--
>>>>>>>        Configures the versioning
>>>>>>>    -->
>>>>>>>    <Versioning rootPath="${rep.home}/version">
>>>>>>>        <!--
>>>>>>>            Configures the filesystem to use for versioning for the respective
>>>>>>>            persistence manager
>>>>>>>        -->
>>>>>>>        <!--
>>>>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>>>>>>>            <param name="path" value="${rep.home}/version" />
>>>>>>>        </FileSystem>
>>>>>>>         -->
>>>>>>>         <!--
>>>>>>>                Database File System and Persistence (Cluster Configuration)
>>>>>>>                -->
>>>>>>>
>>>>>>>                <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>>>>                        <param name="user" value="user" />
>>>>>>>                        <param name="password" value="pwd" />
>>>>>>>                        <param name="schema" value="postgresql"/>
>>>>>>>                        <param name="schemaObjectPrefix" value="J_V_FS_"/>
>>>>>>>                </FileSystem>
>>>>>>>
>>>>>>>        <!--
>>>>>>>            Configures the persistence manager to be used for
>>>>>>> persisting version state.
>>>>>>>            Please note that the current versioning implementation is based on
>>>>>>>            a 'normal' persistence manager, but this could change in future
>>>>>>>            implementations.
>>>>>>>        -->
>>>>>>>        <!--
>>>>>>>        <PersistenceManager
>>>>>>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>>>>>>          <param name="url"
>>>>>>> value="jdbc:derby:${rep.home}/version/db;create=true"/>
>>>>>>>          <param name="schemaObjectPrefix" value="version_"/>
>>>>>>>        </PersistenceManager>
>>>>>>>         -->
>>>>>>>         <PersistenceManager
>>>>>>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>>>>>>                <param name="url" value="dbc:postgresql://url"/>
>>>>>>>                <param name="user" value="user"/>
>>>>>>>                <param name="password" value="pwd"/>
>>>>>>>                <param name="schemaObjectPrefix" value="J_V_PM_"/>
>>>>>>>                <param name="externalBLOBs" value="false"/>
>>>>>>>        </PersistenceManager>
>>>>>>>
>>>>>>>        <ISMLocking
>>>>>>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>>>>>>
>>>>>>>    </Versioning>
>>>>>>>
>>>>>>>    <!--
>>>>>>>        Search index for content that is shared repository wide
>>>>>>>        (/jcr:system tree, contains mainly versions)
>>>>>>>    -->
>>>>>>>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>>>>>>>        <param name="path" value="${rep.home}/repository/index"/>
>>>>>>>        <param name="textFilterClasses"
>>>>>>> value="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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>>>>>>        <param name="extractorPoolSize " value="2"/>
>>>>>>>        <param name="supportHighlighting" value="true"/>
>>>>>>>    </SearchIndex>
>>>>>>>
>>>>>>>
>>>>>>>   <!--
>>>>>>>        Cluster Configuration
>>>>>>>        -->
>>>>>>>
>>>>>>>        <Cluster id="dev_node_hestia" syncDelay="5">
>>>>>>>                <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
>>>>>>>                        <param name="revision" value="${rep.home}/revision"/>
>>>>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>>>>                        <param name="user" value="user" />
>>>>>>>                        <param name="password" value="pwd" />
>>>>>>>                        <param name="schema" value="postgresql"/>
>>>>>>>                        <param name="schemaObjectPrefix" value="J_C_"/>
>>>>>>>                </Journal>
>>>>>>>    </Cluster>
>>>>>>>
>>>>>>>
>>>>>>>        <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
>>>>>>>                <param name="url" value="jdbc:postgresql://url" />
>>>>>>>                <param name="user" value="user" />
>>>>>>>                <param name="password" value="pwd" />
>>>>>>>                <param name="databaseType" value="postgresql" />
>>>>>>>                <param name="driver" value="org.postgresql.Driver" />
>>>>>>>                <param name="minRecordLength" value="1024" />
>>>>>>>                <param name="maxConnections" value="3" />
>>>>>>>                <param name="copyWhenReading" value="true" />
>>>>>>>        </DataStore>
>>>>>>>
>>>>>>>
>>>>>>> </Repository>
>>>>>>>
>>>>>>>
>>>>>>> Thanks
>>>>>>> Dipu
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Re: Exception while creating workspace created on another cluster node

Posted by Dipu <di...@googlemail.com>.
Hi Thomas,

Thank you for the rapid reply. We cannot reproduce the problem
starting a node with an empty repository. The problem only appears
when:

- Cluster Node 1 is started against an empty repository and creates a
workspace, registering custom namespaces and nodetypes (Cluster Node 1
starts up without issue)

- Cluster Node 2 is started up without a copy of the custom namespace
and nodetype definitions in its own FileSystem (Cluster Node 2 fails
to start up)

It looks like issue JCR-1558 matches the problem I'm having exactly.
Is there any work planned on that particular issue? I ask because the
custom namespaces and nodetypes are something we can't realistically
get away from, as we are using Brix, which makes use of these.

Thanks & Regards
Dipu




On Wed, Apr 1, 2009 at 2:01 PM, Thomas Müller <th...@day.com> wrote:
> Hi,
>
> It looks like a different problem. Can you reproduce this problem
> starting with an empty repository?
>
> Regards,
> Thomas
>
>
> On Wed, Apr 1, 2009 at 3:53 PM, Dipu <di...@googlemail.com> wrote:
>> Hi all,
>>
>> It looks like the problem i am getting now is what mentioned here
>> https://issues.apache.org/jira/browse/JCR-1558
>>
>> Is it an issue or is it again some thing configured wrongly in my repository.xml
>>
>> Thanks & Regards
>> Dipu
>>
>> On Thu, Mar 19, 2009 at 12:51 PM, Thomas Müller <th...@day.com> wrote:
>>> Hi,
>>>
>>> Most likely the problem is that both cluster nodes point to the same
>>> file system. I have updated the documentation at
>>> http://wiki.apache.org/jackrabbit/Clustering
>>>
>>> "Clustering in Jackrabbit works as follows: content is shared between
>>> all cluster nodes. That means all Jackrabbit cluster nodes need access
>>> to the SAME persistent storage (persistence manager and data store).
>>> However, each cluster node needs its own (private) FileSystem and
>>> search index. "
>>>
>>> Regards,
>>> Thomas
>>>
>>>
>>>
>>> 2009/3/19 Dipu <di...@googlemail.com>:
>>>> Hi Thomas,
>>>>
>>>> Thanks for the reply.
>>>>
>>>> This is the error message that gets logged, there is no stacktrace
>>>>
>>>> 2009-03-19 11:19:19:046 ERROR
>>>> org.apache.jackrabbit.core.cluster.ClusterNode
>>>> [ClusterNode-dev_node_hestia] - Unable to create workspace: failed to
>>>> create workspace configuration at path
>>>> /configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54/workspace.xml:
>>>> file system entry already exists:
>>>> /configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54
>>>>
>>>> createFolder  method in DatabaseFileSystem class is throwing the
>>>> new FileSystemException("file system entry already exists: " +
>>>> folderPath); which gets propagated and ClusterNode.process method logs
>>>> it.
>>>>
>>>> this is how the real URL looks
>>>>
>>>> <param name="url" value="jdbc:postgresql://something.production.mcom/dbname" />
>>>>
>>>> we connect to the DB fine and i don't think there is any problem there.
>>>>
>>>> Regards
>>>> Dipu
>>>>
>>>>
>>>> 2009/3/19 Thomas Müller <th...@day.com>:
>>>>> Hi,
>>>>>
>>>>> Could you post the exception message and stack trace please?
>>>>>
>>>>> <param name="url" value="jdbc:postgresql://url" />
>>>>>
>>>>> Could you also include the real URL?
>>>>>
>>>>> Regards,
>>>>> Thomas
>>>>>
>>>>>
>>>>> On Wed, Mar 18, 2009 at 5:41 PM, Dipu <di...@googlemail.com> wrote:
>>>>>> Hi,
>>>>>>
>>>>>> This is how my repository.xml looks, can someone check if there is
>>>>>> anything wrong
>>>>>> with my configuration that's resulting in the failure please.
>>>>>>
>>>>>> <?xml version="1.0"?>
>>>>>> <!--
>>>>>>   Licensed to the Apache Software Foundation (ASF) under one or more
>>>>>>   contributor license agreements.  See the NOTICE file distributed with
>>>>>>   this work for additional information regarding copyright ownership.
>>>>>>   The ASF licenses this file to You under the Apache License, Version 2.0
>>>>>>   (the "License"); you may not use this file except in compliance with
>>>>>>   the License.  You may obtain a copy of the License at
>>>>>>
>>>>>>       http://www.apache.org/licenses/LICENSE-2.0
>>>>>>
>>>>>>   Unless required by applicable law or agreed to in writing, software
>>>>>>   distributed under the License is distributed on an "AS IS" BASIS,
>>>>>>   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>>>>>>   See the License for the specific language governing permissions and
>>>>>>   limitations under the License.
>>>>>> -->
>>>>>> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD
>>>>>> Jackrabbit 1.5//EN"
>>>>>>
>>>>>> "http://jackrabbit.apache.org/dtd/repository-1.5.dtd">
>>>>>> <!-- Example Repository Configuration File -->
>>>>>> <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>
>>>>>>    -->
>>>>>>    <!--
>>>>>>        Database File System (Cluster Configuration)
>>>>>>        -->
>>>>>>
>>>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>>>                <param name="driver" value="org.postgresql.Driver"/>
>>>>>>                <param name="url" value="jdbc:postgresql://url" />
>>>>>>                <param name="user" value="user" />
>>>>>>                <param name="password" value="pwd" />
>>>>>>                <param name="schema" value="postgresql"/>
>>>>>>                <param name="schemaObjectPrefix" value="J_R_FS_"/>
>>>>>>        </FileSystem>
>>>>>>
>>>>>>    <!--
>>>>>>        security configuration
>>>>>>    -->
>>>>>>    <Security appName="Jackrabbit">
>>>>>>        <!--
>>>>>>            access manager:
>>>>>>            class: FQN of class implementing the AccessManager interface
>>>>>>        -->
>>>>>>        <AccessManager
>>>>>> class="org.apache.jackrabbit.core.security.SimpleAccessManager">
>>>>>>            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
>>>>>>        </AccessManager>
>>>>>>
>>>>>>        <LoginModule
>>>>>> class="org.apache.jackrabbit.core.security.SimpleLoginModule">
>>>>>>           <!-- anonymous user name ('anonymous' is the default value) -->
>>>>>>           <param name="anonymousId" value="anonymous"/>
>>>>>>           <!--
>>>>>>              default user name to be used instead of the anonymous user
>>>>>>              when no login credentials are provided (unset by default)
>>>>>>           -->
>>>>>>           <!-- <param name="defaultUserId" value="superuser"/> -->
>>>>>>        </LoginModule>
>>>>>>    </Security>
>>>>>>
>>>>>>    <!--
>>>>>>        location of workspaces root directory and name of default workspace
>>>>>>    -->
>>>>>>
>>>>>>   <Workspaces rootPath="${rep.home}/workspaces"
>>>>>> defaultWorkspace="default" configRootPath="/configRootPath"/>
>>>>>>
>>>>>>    <!--
>>>>>>        workspace configuration template:
>>>>>>        used to create the initial workspace if there's no workspace yet
>>>>>>    -->
>>>>>>    <Workspace name="${wsp.name}">
>>>>>>        <!--
>>>>>>            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>
>>>>>>        -->
>>>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>>>                        <param name="user" value="user" />
>>>>>>                        <param name="password" value="pwd" />
>>>>>>                        <param name="schema" value="postgresql"/>
>>>>>>                        <param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/>
>>>>>>                </FileSystem>
>>>>>>
>>>>>>        <!--
>>>>>>            persistence manager of the workspace:
>>>>>>            class: FQN of class implementing the PersistenceManager interface
>>>>>>        -->
>>>>>>
>>>>>>        <!--
>>>>>>        <PersistenceManager
>>>>>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>>>>>          <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
>>>>>>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>>>>>>        </PersistenceManager>
>>>>>>        -->
>>>>>>
>>>>>>         <PersistenceManager
>>>>>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>>>>>                <param name="url" value="jdbc:postgresql://url"/>
>>>>>>                <param name="user" value="user"/>
>>>>>>                <param name="password" value="pwd"/>
>>>>>>                <param name="schemaObjectPrefix" value="J_PM_${wsp.name}_"/>
>>>>>>                <param name="externalBLOBs" value="false"/>
>>>>>>        </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.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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>>>>>            <param name="extractorPoolSize " value="2"/>
>>>>>>            <param name="supportHighlighting" value="true"/>
>>>>>>        </SearchIndex>
>>>>>>
>>>>>>        <ISMLocking
>>>>>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>>>>>
>>>>>>    </Workspace>
>>>>>>
>>>>>>    <!--
>>>>>>        Configures the versioning
>>>>>>    -->
>>>>>>    <Versioning rootPath="${rep.home}/version">
>>>>>>        <!--
>>>>>>            Configures the filesystem to use for versioning for the respective
>>>>>>            persistence manager
>>>>>>        -->
>>>>>>        <!--
>>>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>>>>>>            <param name="path" value="${rep.home}/version" />
>>>>>>        </FileSystem>
>>>>>>         -->
>>>>>>         <!--
>>>>>>                Database File System and Persistence (Cluster Configuration)
>>>>>>                -->
>>>>>>
>>>>>>                <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>>>                        <param name="user" value="user" />
>>>>>>                        <param name="password" value="pwd" />
>>>>>>                        <param name="schema" value="postgresql"/>
>>>>>>                        <param name="schemaObjectPrefix" value="J_V_FS_"/>
>>>>>>                </FileSystem>
>>>>>>
>>>>>>        <!--
>>>>>>            Configures the persistence manager to be used for
>>>>>> persisting version state.
>>>>>>            Please note that the current versioning implementation is based on
>>>>>>            a 'normal' persistence manager, but this could change in future
>>>>>>            implementations.
>>>>>>        -->
>>>>>>        <!--
>>>>>>        <PersistenceManager
>>>>>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>>>>>          <param name="url"
>>>>>> value="jdbc:derby:${rep.home}/version/db;create=true"/>
>>>>>>          <param name="schemaObjectPrefix" value="version_"/>
>>>>>>        </PersistenceManager>
>>>>>>         -->
>>>>>>         <PersistenceManager
>>>>>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>>>>>                <param name="url" value="dbc:postgresql://url"/>
>>>>>>                <param name="user" value="user"/>
>>>>>>                <param name="password" value="pwd"/>
>>>>>>                <param name="schemaObjectPrefix" value="J_V_PM_"/>
>>>>>>                <param name="externalBLOBs" value="false"/>
>>>>>>        </PersistenceManager>
>>>>>>
>>>>>>        <ISMLocking
>>>>>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>>>>>
>>>>>>    </Versioning>
>>>>>>
>>>>>>    <!--
>>>>>>        Search index for content that is shared repository wide
>>>>>>        (/jcr:system tree, contains mainly versions)
>>>>>>    -->
>>>>>>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>>>>>>        <param name="path" value="${rep.home}/repository/index"/>
>>>>>>        <param name="textFilterClasses"
>>>>>> value="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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>>>>>        <param name="extractorPoolSize " value="2"/>
>>>>>>        <param name="supportHighlighting" value="true"/>
>>>>>>    </SearchIndex>
>>>>>>
>>>>>>
>>>>>>   <!--
>>>>>>        Cluster Configuration
>>>>>>        -->
>>>>>>
>>>>>>        <Cluster id="dev_node_hestia" syncDelay="5">
>>>>>>                <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
>>>>>>                        <param name="revision" value="${rep.home}/revision"/>
>>>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>>>                        <param name="user" value="user" />
>>>>>>                        <param name="password" value="pwd" />
>>>>>>                        <param name="schema" value="postgresql"/>
>>>>>>                        <param name="schemaObjectPrefix" value="J_C_"/>
>>>>>>                </Journal>
>>>>>>    </Cluster>
>>>>>>
>>>>>>
>>>>>>        <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
>>>>>>                <param name="url" value="jdbc:postgresql://url" />
>>>>>>                <param name="user" value="user" />
>>>>>>                <param name="password" value="pwd" />
>>>>>>                <param name="databaseType" value="postgresql" />
>>>>>>                <param name="driver" value="org.postgresql.Driver" />
>>>>>>                <param name="minRecordLength" value="1024" />
>>>>>>                <param name="maxConnections" value="3" />
>>>>>>                <param name="copyWhenReading" value="true" />
>>>>>>        </DataStore>
>>>>>>
>>>>>>
>>>>>> </Repository>
>>>>>>
>>>>>>
>>>>>> Thanks
>>>>>> Dipu
>>>>>>
>>>>>
>>>>
>>>
>>
>

Re: Exception while creating workspace created on another cluster node

Posted by Thomas Müller <th...@day.com>.
Hi,

It looks like a different problem. Can you reproduce this problem
starting with an empty repository?

Regards,
Thomas


On Wed, Apr 1, 2009 at 3:53 PM, Dipu <di...@googlemail.com> wrote:
> Hi all,
>
> It looks like the problem i am getting now is what mentioned here
> https://issues.apache.org/jira/browse/JCR-1558
>
> Is it an issue or is it again some thing configured wrongly in my repository.xml
>
> Thanks & Regards
> Dipu
>
> On Thu, Mar 19, 2009 at 12:51 PM, Thomas Müller <th...@day.com> wrote:
>> Hi,
>>
>> Most likely the problem is that both cluster nodes point to the same
>> file system. I have updated the documentation at
>> http://wiki.apache.org/jackrabbit/Clustering
>>
>> "Clustering in Jackrabbit works as follows: content is shared between
>> all cluster nodes. That means all Jackrabbit cluster nodes need access
>> to the SAME persistent storage (persistence manager and data store).
>> However, each cluster node needs its own (private) FileSystem and
>> search index. "
>>
>> Regards,
>> Thomas
>>
>>
>>
>> 2009/3/19 Dipu <di...@googlemail.com>:
>>> Hi Thomas,
>>>
>>> Thanks for the reply.
>>>
>>> This is the error message that gets logged, there is no stacktrace
>>>
>>> 2009-03-19 11:19:19:046 ERROR
>>> org.apache.jackrabbit.core.cluster.ClusterNode
>>> [ClusterNode-dev_node_hestia] - Unable to create workspace: failed to
>>> create workspace configuration at path
>>> /configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54/workspace.xml:
>>> file system entry already exists:
>>> /configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54
>>>
>>> createFolder  method in DatabaseFileSystem class is throwing the
>>> new FileSystemException("file system entry already exists: " +
>>> folderPath); which gets propagated and ClusterNode.process method logs
>>> it.
>>>
>>> this is how the real URL looks
>>>
>>> <param name="url" value="jdbc:postgresql://something.production.mcom/dbname" />
>>>
>>> we connect to the DB fine and i don't think there is any problem there.
>>>
>>> Regards
>>> Dipu
>>>
>>>
>>> 2009/3/19 Thomas Müller <th...@day.com>:
>>>> Hi,
>>>>
>>>> Could you post the exception message and stack trace please?
>>>>
>>>> <param name="url" value="jdbc:postgresql://url" />
>>>>
>>>> Could you also include the real URL?
>>>>
>>>> Regards,
>>>> Thomas
>>>>
>>>>
>>>> On Wed, Mar 18, 2009 at 5:41 PM, Dipu <di...@googlemail.com> wrote:
>>>>> Hi,
>>>>>
>>>>> This is how my repository.xml looks, can someone check if there is
>>>>> anything wrong
>>>>> with my configuration that's resulting in the failure please.
>>>>>
>>>>> <?xml version="1.0"?>
>>>>> <!--
>>>>>   Licensed to the Apache Software Foundation (ASF) under one or more
>>>>>   contributor license agreements.  See the NOTICE file distributed with
>>>>>   this work for additional information regarding copyright ownership.
>>>>>   The ASF licenses this file to You under the Apache License, Version 2.0
>>>>>   (the "License"); you may not use this file except in compliance with
>>>>>   the License.  You may obtain a copy of the License at
>>>>>
>>>>>       http://www.apache.org/licenses/LICENSE-2.0
>>>>>
>>>>>   Unless required by applicable law or agreed to in writing, software
>>>>>   distributed under the License is distributed on an "AS IS" BASIS,
>>>>>   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>>>>>   See the License for the specific language governing permissions and
>>>>>   limitations under the License.
>>>>> -->
>>>>> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD
>>>>> Jackrabbit 1.5//EN"
>>>>>
>>>>> "http://jackrabbit.apache.org/dtd/repository-1.5.dtd">
>>>>> <!-- Example Repository Configuration File -->
>>>>> <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>
>>>>>    -->
>>>>>    <!--
>>>>>        Database File System (Cluster Configuration)
>>>>>        -->
>>>>>
>>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>>                <param name="driver" value="org.postgresql.Driver"/>
>>>>>                <param name="url" value="jdbc:postgresql://url" />
>>>>>                <param name="user" value="user" />
>>>>>                <param name="password" value="pwd" />
>>>>>                <param name="schema" value="postgresql"/>
>>>>>                <param name="schemaObjectPrefix" value="J_R_FS_"/>
>>>>>        </FileSystem>
>>>>>
>>>>>    <!--
>>>>>        security configuration
>>>>>    -->
>>>>>    <Security appName="Jackrabbit">
>>>>>        <!--
>>>>>            access manager:
>>>>>            class: FQN of class implementing the AccessManager interface
>>>>>        -->
>>>>>        <AccessManager
>>>>> class="org.apache.jackrabbit.core.security.SimpleAccessManager">
>>>>>            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
>>>>>        </AccessManager>
>>>>>
>>>>>        <LoginModule
>>>>> class="org.apache.jackrabbit.core.security.SimpleLoginModule">
>>>>>           <!-- anonymous user name ('anonymous' is the default value) -->
>>>>>           <param name="anonymousId" value="anonymous"/>
>>>>>           <!--
>>>>>              default user name to be used instead of the anonymous user
>>>>>              when no login credentials are provided (unset by default)
>>>>>           -->
>>>>>           <!-- <param name="defaultUserId" value="superuser"/> -->
>>>>>        </LoginModule>
>>>>>    </Security>
>>>>>
>>>>>    <!--
>>>>>        location of workspaces root directory and name of default workspace
>>>>>    -->
>>>>>
>>>>>   <Workspaces rootPath="${rep.home}/workspaces"
>>>>> defaultWorkspace="default" configRootPath="/configRootPath"/>
>>>>>
>>>>>    <!--
>>>>>        workspace configuration template:
>>>>>        used to create the initial workspace if there's no workspace yet
>>>>>    -->
>>>>>    <Workspace name="${wsp.name}">
>>>>>        <!--
>>>>>            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>
>>>>>        -->
>>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>>                        <param name="user" value="user" />
>>>>>                        <param name="password" value="pwd" />
>>>>>                        <param name="schema" value="postgresql"/>
>>>>>                        <param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/>
>>>>>                </FileSystem>
>>>>>
>>>>>        <!--
>>>>>            persistence manager of the workspace:
>>>>>            class: FQN of class implementing the PersistenceManager interface
>>>>>        -->
>>>>>
>>>>>        <!--
>>>>>        <PersistenceManager
>>>>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>>>>          <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
>>>>>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>>>>>        </PersistenceManager>
>>>>>        -->
>>>>>
>>>>>         <PersistenceManager
>>>>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>>>>                <param name="url" value="jdbc:postgresql://url"/>
>>>>>                <param name="user" value="user"/>
>>>>>                <param name="password" value="pwd"/>
>>>>>                <param name="schemaObjectPrefix" value="J_PM_${wsp.name}_"/>
>>>>>                <param name="externalBLOBs" value="false"/>
>>>>>        </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.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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>>>>            <param name="extractorPoolSize " value="2"/>
>>>>>            <param name="supportHighlighting" value="true"/>
>>>>>        </SearchIndex>
>>>>>
>>>>>        <ISMLocking
>>>>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>>>>
>>>>>    </Workspace>
>>>>>
>>>>>    <!--
>>>>>        Configures the versioning
>>>>>    -->
>>>>>    <Versioning rootPath="${rep.home}/version">
>>>>>        <!--
>>>>>            Configures the filesystem to use for versioning for the respective
>>>>>            persistence manager
>>>>>        -->
>>>>>        <!--
>>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>>>>>            <param name="path" value="${rep.home}/version" />
>>>>>        </FileSystem>
>>>>>         -->
>>>>>         <!--
>>>>>                Database File System and Persistence (Cluster Configuration)
>>>>>                -->
>>>>>
>>>>>                <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>>                        <param name="user" value="user" />
>>>>>                        <param name="password" value="pwd" />
>>>>>                        <param name="schema" value="postgresql"/>
>>>>>                        <param name="schemaObjectPrefix" value="J_V_FS_"/>
>>>>>                </FileSystem>
>>>>>
>>>>>        <!--
>>>>>            Configures the persistence manager to be used for
>>>>> persisting version state.
>>>>>            Please note that the current versioning implementation is based on
>>>>>            a 'normal' persistence manager, but this could change in future
>>>>>            implementations.
>>>>>        -->
>>>>>        <!--
>>>>>        <PersistenceManager
>>>>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>>>>          <param name="url"
>>>>> value="jdbc:derby:${rep.home}/version/db;create=true"/>
>>>>>          <param name="schemaObjectPrefix" value="version_"/>
>>>>>        </PersistenceManager>
>>>>>         -->
>>>>>         <PersistenceManager
>>>>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>>>>                <param name="url" value="dbc:postgresql://url"/>
>>>>>                <param name="user" value="user"/>
>>>>>                <param name="password" value="pwd"/>
>>>>>                <param name="schemaObjectPrefix" value="J_V_PM_"/>
>>>>>                <param name="externalBLOBs" value="false"/>
>>>>>        </PersistenceManager>
>>>>>
>>>>>        <ISMLocking
>>>>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>>>>
>>>>>    </Versioning>
>>>>>
>>>>>    <!--
>>>>>        Search index for content that is shared repository wide
>>>>>        (/jcr:system tree, contains mainly versions)
>>>>>    -->
>>>>>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>>>>>        <param name="path" value="${rep.home}/repository/index"/>
>>>>>        <param name="textFilterClasses"
>>>>> value="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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>>>>        <param name="extractorPoolSize " value="2"/>
>>>>>        <param name="supportHighlighting" value="true"/>
>>>>>    </SearchIndex>
>>>>>
>>>>>
>>>>>   <!--
>>>>>        Cluster Configuration
>>>>>        -->
>>>>>
>>>>>        <Cluster id="dev_node_hestia" syncDelay="5">
>>>>>                <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
>>>>>                        <param name="revision" value="${rep.home}/revision"/>
>>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>>                        <param name="user" value="user" />
>>>>>                        <param name="password" value="pwd" />
>>>>>                        <param name="schema" value="postgresql"/>
>>>>>                        <param name="schemaObjectPrefix" value="J_C_"/>
>>>>>                </Journal>
>>>>>    </Cluster>
>>>>>
>>>>>
>>>>>        <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
>>>>>                <param name="url" value="jdbc:postgresql://url" />
>>>>>                <param name="user" value="user" />
>>>>>                <param name="password" value="pwd" />
>>>>>                <param name="databaseType" value="postgresql" />
>>>>>                <param name="driver" value="org.postgresql.Driver" />
>>>>>                <param name="minRecordLength" value="1024" />
>>>>>                <param name="maxConnections" value="3" />
>>>>>                <param name="copyWhenReading" value="true" />
>>>>>        </DataStore>
>>>>>
>>>>>
>>>>> </Repository>
>>>>>
>>>>>
>>>>> Thanks
>>>>> Dipu
>>>>>
>>>>
>>>
>>
>

Re: Exception while creating workspace created on another cluster node

Posted by Dipu <di...@googlemail.com>.
Hi all,

It looks like the problem i am getting now is what mentioned here
https://issues.apache.org/jira/browse/JCR-1558

Is it an issue or is it again some thing configured wrongly in my repository.xml

Thanks & Regards
Dipu

On Thu, Mar 19, 2009 at 12:51 PM, Thomas Müller <th...@day.com> wrote:
> Hi,
>
> Most likely the problem is that both cluster nodes point to the same
> file system. I have updated the documentation at
> http://wiki.apache.org/jackrabbit/Clustering
>
> "Clustering in Jackrabbit works as follows: content is shared between
> all cluster nodes. That means all Jackrabbit cluster nodes need access
> to the SAME persistent storage (persistence manager and data store).
> However, each cluster node needs its own (private) FileSystem and
> search index. "
>
> Regards,
> Thomas
>
>
>
> 2009/3/19 Dipu <di...@googlemail.com>:
>> Hi Thomas,
>>
>> Thanks for the reply.
>>
>> This is the error message that gets logged, there is no stacktrace
>>
>> 2009-03-19 11:19:19:046 ERROR
>> org.apache.jackrabbit.core.cluster.ClusterNode
>> [ClusterNode-dev_node_hestia] - Unable to create workspace: failed to
>> create workspace configuration at path
>> /configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54/workspace.xml:
>> file system entry already exists:
>> /configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54
>>
>> createFolder  method in DatabaseFileSystem class is throwing the
>> new FileSystemException("file system entry already exists: " +
>> folderPath); which gets propagated and ClusterNode.process method logs
>> it.
>>
>> this is how the real URL looks
>>
>> <param name="url" value="jdbc:postgresql://something.production.mcom/dbname" />
>>
>> we connect to the DB fine and i don't think there is any problem there.
>>
>> Regards
>> Dipu
>>
>>
>> 2009/3/19 Thomas Müller <th...@day.com>:
>>> Hi,
>>>
>>> Could you post the exception message and stack trace please?
>>>
>>> <param name="url" value="jdbc:postgresql://url" />
>>>
>>> Could you also include the real URL?
>>>
>>> Regards,
>>> Thomas
>>>
>>>
>>> On Wed, Mar 18, 2009 at 5:41 PM, Dipu <di...@googlemail.com> wrote:
>>>> Hi,
>>>>
>>>> This is how my repository.xml looks, can someone check if there is
>>>> anything wrong
>>>> with my configuration that's resulting in the failure please.
>>>>
>>>> <?xml version="1.0"?>
>>>> <!--
>>>>   Licensed to the Apache Software Foundation (ASF) under one or more
>>>>   contributor license agreements.  See the NOTICE file distributed with
>>>>   this work for additional information regarding copyright ownership.
>>>>   The ASF licenses this file to You under the Apache License, Version 2.0
>>>>   (the "License"); you may not use this file except in compliance with
>>>>   the License.  You may obtain a copy of the License at
>>>>
>>>>       http://www.apache.org/licenses/LICENSE-2.0
>>>>
>>>>   Unless required by applicable law or agreed to in writing, software
>>>>   distributed under the License is distributed on an "AS IS" BASIS,
>>>>   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>>>>   See the License for the specific language governing permissions and
>>>>   limitations under the License.
>>>> -->
>>>> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD
>>>> Jackrabbit 1.5//EN"
>>>>
>>>> "http://jackrabbit.apache.org/dtd/repository-1.5.dtd">
>>>> <!-- Example Repository Configuration File -->
>>>> <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>
>>>>    -->
>>>>    <!--
>>>>        Database File System (Cluster Configuration)
>>>>        -->
>>>>
>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>                <param name="driver" value="org.postgresql.Driver"/>
>>>>                <param name="url" value="jdbc:postgresql://url" />
>>>>                <param name="user" value="user" />
>>>>                <param name="password" value="pwd" />
>>>>                <param name="schema" value="postgresql"/>
>>>>                <param name="schemaObjectPrefix" value="J_R_FS_"/>
>>>>        </FileSystem>
>>>>
>>>>    <!--
>>>>        security configuration
>>>>    -->
>>>>    <Security appName="Jackrabbit">
>>>>        <!--
>>>>            access manager:
>>>>            class: FQN of class implementing the AccessManager interface
>>>>        -->
>>>>        <AccessManager
>>>> class="org.apache.jackrabbit.core.security.SimpleAccessManager">
>>>>            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
>>>>        </AccessManager>
>>>>
>>>>        <LoginModule
>>>> class="org.apache.jackrabbit.core.security.SimpleLoginModule">
>>>>           <!-- anonymous user name ('anonymous' is the default value) -->
>>>>           <param name="anonymousId" value="anonymous"/>
>>>>           <!--
>>>>              default user name to be used instead of the anonymous user
>>>>              when no login credentials are provided (unset by default)
>>>>           -->
>>>>           <!-- <param name="defaultUserId" value="superuser"/> -->
>>>>        </LoginModule>
>>>>    </Security>
>>>>
>>>>    <!--
>>>>        location of workspaces root directory and name of default workspace
>>>>    -->
>>>>
>>>>   <Workspaces rootPath="${rep.home}/workspaces"
>>>> defaultWorkspace="default" configRootPath="/configRootPath"/>
>>>>
>>>>    <!--
>>>>        workspace configuration template:
>>>>        used to create the initial workspace if there's no workspace yet
>>>>    -->
>>>>    <Workspace name="${wsp.name}">
>>>>        <!--
>>>>            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>
>>>>        -->
>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>                        <param name="user" value="user" />
>>>>                        <param name="password" value="pwd" />
>>>>                        <param name="schema" value="postgresql"/>
>>>>                        <param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/>
>>>>                </FileSystem>
>>>>
>>>>        <!--
>>>>            persistence manager of the workspace:
>>>>            class: FQN of class implementing the PersistenceManager interface
>>>>        -->
>>>>
>>>>        <!--
>>>>        <PersistenceManager
>>>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>>>          <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
>>>>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>>>>        </PersistenceManager>
>>>>        -->
>>>>
>>>>         <PersistenceManager
>>>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>>>                <param name="url" value="jdbc:postgresql://url"/>
>>>>                <param name="user" value="user"/>
>>>>                <param name="password" value="pwd"/>
>>>>                <param name="schemaObjectPrefix" value="J_PM_${wsp.name}_"/>
>>>>                <param name="externalBLOBs" value="false"/>
>>>>        </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.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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>>>            <param name="extractorPoolSize " value="2"/>
>>>>            <param name="supportHighlighting" value="true"/>
>>>>        </SearchIndex>
>>>>
>>>>        <ISMLocking
>>>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>>>
>>>>    </Workspace>
>>>>
>>>>    <!--
>>>>        Configures the versioning
>>>>    -->
>>>>    <Versioning rootPath="${rep.home}/version">
>>>>        <!--
>>>>            Configures the filesystem to use for versioning for the respective
>>>>            persistence manager
>>>>        -->
>>>>        <!--
>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>>>>            <param name="path" value="${rep.home}/version" />
>>>>        </FileSystem>
>>>>         -->
>>>>         <!--
>>>>                Database File System and Persistence (Cluster Configuration)
>>>>                -->
>>>>
>>>>                <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>                        <param name="user" value="user" />
>>>>                        <param name="password" value="pwd" />
>>>>                        <param name="schema" value="postgresql"/>
>>>>                        <param name="schemaObjectPrefix" value="J_V_FS_"/>
>>>>                </FileSystem>
>>>>
>>>>        <!--
>>>>            Configures the persistence manager to be used for
>>>> persisting version state.
>>>>            Please note that the current versioning implementation is based on
>>>>            a 'normal' persistence manager, but this could change in future
>>>>            implementations.
>>>>        -->
>>>>        <!--
>>>>        <PersistenceManager
>>>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>>>          <param name="url"
>>>> value="jdbc:derby:${rep.home}/version/db;create=true"/>
>>>>          <param name="schemaObjectPrefix" value="version_"/>
>>>>        </PersistenceManager>
>>>>         -->
>>>>         <PersistenceManager
>>>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>>>                <param name="url" value="dbc:postgresql://url"/>
>>>>                <param name="user" value="user"/>
>>>>                <param name="password" value="pwd"/>
>>>>                <param name="schemaObjectPrefix" value="J_V_PM_"/>
>>>>                <param name="externalBLOBs" value="false"/>
>>>>        </PersistenceManager>
>>>>
>>>>        <ISMLocking
>>>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>>>
>>>>    </Versioning>
>>>>
>>>>    <!--
>>>>        Search index for content that is shared repository wide
>>>>        (/jcr:system tree, contains mainly versions)
>>>>    -->
>>>>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>>>>        <param name="path" value="${rep.home}/repository/index"/>
>>>>        <param name="textFilterClasses"
>>>> value="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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>>>        <param name="extractorPoolSize " value="2"/>
>>>>        <param name="supportHighlighting" value="true"/>
>>>>    </SearchIndex>
>>>>
>>>>
>>>>   <!--
>>>>        Cluster Configuration
>>>>        -->
>>>>
>>>>        <Cluster id="dev_node_hestia" syncDelay="5">
>>>>                <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
>>>>                        <param name="revision" value="${rep.home}/revision"/>
>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>                        <param name="user" value="user" />
>>>>                        <param name="password" value="pwd" />
>>>>                        <param name="schema" value="postgresql"/>
>>>>                        <param name="schemaObjectPrefix" value="J_C_"/>
>>>>                </Journal>
>>>>    </Cluster>
>>>>
>>>>
>>>>        <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
>>>>                <param name="url" value="jdbc:postgresql://url" />
>>>>                <param name="user" value="user" />
>>>>                <param name="password" value="pwd" />
>>>>                <param name="databaseType" value="postgresql" />
>>>>                <param name="driver" value="org.postgresql.Driver" />
>>>>                <param name="minRecordLength" value="1024" />
>>>>                <param name="maxConnections" value="3" />
>>>>                <param name="copyWhenReading" value="true" />
>>>>        </DataStore>
>>>>
>>>>
>>>> </Repository>
>>>>
>>>>
>>>> Thanks
>>>> Dipu
>>>>
>>>
>>
>

Re: Exception while creating workspace created on another cluster node

Posted by Dipu <di...@googlemail.com>.
Hi Thomas,

Clustering works when i define separate FileSystem for each cluster node.
But i had to copy the following folder from the cluster_node_1 to
cluster_node_2 before starting up the node2.

\repository
    configRootPath
    namespaces
    nodetypes

If i don't copy configRootPath the workspaces already present in node1
won't be available in node2.
If namespaces and nodetypes is not copied over i am getting the
following exception (below).
Manually copying over the folders from the first node to the other
nodes doesn't look ideal. Is there any way to get around this.

javax.jcr.RepositoryException: Error indexing workspace: Error
indexing workspace: Error indexing workspace
	at org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManager.java:555)
	at org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:239)
	at org.apache.jackrabbit.core.RepositoryImpl.getSystemSearchManager(RepositoryImpl.java:686)
	at org.apache.jackrabbit.core.RepositoryImpl.access$300(RepositoryImpl.java:109)
	at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(RepositoryImpl.java:1761)
	at org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImpl.java:667)
	at org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:480)
	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:321)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication$1.<init>(AbstractFabguiApplication.java:151)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication.createFileRepository(AbstractFabguiApplication.java:151)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication.createRepository(AbstractFabguiApplication.java:115)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication.init(AbstractFabguiApplication.java:76)
	at com.xmltravel.web.brix.core.FabguiApplication.init(FabguiApplication.java:102)
	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:695)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:448)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: java.io.IOException: Error indexing workspace
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createInitialIndex(MultiIndex.java:394)
	at org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.java:465)
	at org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryHandler.java:59)
	at org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManager.java:553)
	... 40 more
Caused by: org.apache.jackrabbit.core.state.NoSuchItemStateException:
b05a6677-10db-42ef-b4f1-08ef71348055
	at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:185)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1060)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createInitialIndex(MultiIndex.java:389)
	... 43 more
java.io.IOException: Error indexing workspace
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createInitialIndex(MultiIndex.java:394)
	at org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.java:465)
	at org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryHandler.java:59)
	at org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManager.java:553)
	at org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:239)
	at org.apache.jackrabbit.core.RepositoryImpl.getSystemSearchManager(RepositoryImpl.java:686)
	at org.apache.jackrabbit.core.RepositoryImpl.access$300(RepositoryImpl.java:109)
	at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(RepositoryImpl.java:1761)
	at org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImpl.java:667)
	at org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:480)
	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:321)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication$1.<init>(AbstractFabguiApplication.java:151)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication.createFileRepository(AbstractFabguiApplication.java:151)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication.createRepository(AbstractFabguiApplication.java:115)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication.init(AbstractFabguiApplication.java:76)
	at com.xmltravel.web.brix.core.FabguiApplication.init(FabguiApplication.java:102)
	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:695)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:448)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: org.apache.jackrabbit.core.state.NoSuchItemStateException:
b05a6677-10db-42ef-b4f1-08ef71348055
	at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:185)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1060)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createInitialIndex(MultiIndex.java:389)
	... 43 more
2009-03-20 15:40:55:546 ERROR
org.apache.jackrabbit.core.RepositoryImpl  [main] - Unable to start
repository, forcing shutdown...
2009-03-20 15:40:55:546 INFO
org.apache.jackrabbit.core.RepositoryImpl  [main] - Shutting down
repository...
2009-03-20 15:40:55:562 INFO
org.apache.jackrabbit.core.RepositoryImpl  [main] - shutting down
workspace 'default'...
2009-03-20 15:40:55:562 INFO
org.apache.jackrabbit.core.observation.ObservationDispatcher  [main] -
Notification of EventListeners stopped.
2009-03-20 15:40:55:593 INFO
org.apache.jackrabbit.core.RepositoryImpl  [main] - workspace
'default' has been shutdown
2009-03-20 15:40:55:609 INFO
org.apache.jackrabbit.core.RepositoryImpl  [main] - Repository has
been shutdown
2009-03-20 15:40:55:609 ERROR
org.apache.jackrabbit.core.RepositoryImpl  [main] - failed to start
Repository: Error indexing workspace: Error indexing workspace
javax.jcr.RepositoryException: Error indexing workspace: Error
indexing workspace: Error indexing workspace
	at org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManager.java:555)
	at org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:239)
	at org.apache.jackrabbit.core.RepositoryImpl.getSystemSearchManager(RepositoryImpl.java:686)
	at org.apache.jackrabbit.core.RepositoryImpl.access$300(RepositoryImpl.java:109)
	at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(RepositoryImpl.java:1761)
	at org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImpl.java:667)
	at org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:480)
	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:321)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication$1.<init>(AbstractFabguiApplication.java:151)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication.createFileRepository(AbstractFabguiApplication.java:151)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication.createRepository(AbstractFabguiApplication.java:115)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication.init(AbstractFabguiApplication.java:76)
	at com.xmltravel.web.brix.core.FabguiApplication.init(FabguiApplication.java:102)
	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:695)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:448)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: java.io.IOException: Error indexing workspace
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createInitialIndex(MultiIndex.java:394)
	at org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.java:465)
	at org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryHandler.java:59)
	at org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManager.java:553)
	... 40 more
Caused by: org.apache.jackrabbit.core.state.NoSuchItemStateException:
b05a6677-10db-42ef-b4f1-08ef71348055
	at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:185)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1060)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createInitialIndex(MultiIndex.java:389)
	... 43 more
java.io.IOException: Error indexing workspace
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createInitialIndex(MultiIndex.java:394)
	at org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.java:465)
	at org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryHandler.java:59)
	at org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManager.java:553)
	at org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:239)
	at org.apache.jackrabbit.core.RepositoryImpl.getSystemSearchManager(RepositoryImpl.java:686)
	at org.apache.jackrabbit.core.RepositoryImpl.access$300(RepositoryImpl.java:109)
	at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(RepositoryImpl.java:1761)
	at org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImpl.java:667)
	at org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:480)
	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:321)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication$1.<init>(AbstractFabguiApplication.java:151)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication.createFileRepository(AbstractFabguiApplication.java:151)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication.createRepository(AbstractFabguiApplication.java:115)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication.init(AbstractFabguiApplication.java:76)
	at com.xmltravel.web.brix.core.FabguiApplication.init(FabguiApplication.java:102)
	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:695)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:448)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: org.apache.jackrabbit.core.state.NoSuchItemStateException:
b05a6677-10db-42ef-b4f1-08ef71348055
	at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:185)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1060)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createInitialIndex(MultiIndex.java:389)
	... 43 more
2009-03-20 15:40:55:609 ERROR
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/fab2gui]
 [main] - Exception starting filter fabrix
java.lang.RuntimeException: Could not create file repository at url:
file://C:\var\tmp\tomcat\brix-fab2gui-repository1
	at com.xmltravel.web.brix.core.AbstractFabguiApplication.createFileRepository(AbstractFabguiApplication.java:173)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication.createRepository(AbstractFabguiApplication.java:115)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication.init(AbstractFabguiApplication.java:76)
	at com.xmltravel.web.brix.core.FabguiApplication.init(FabguiApplication.java:102)
	at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:695)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:448)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: javax.jcr.RepositoryException: Error indexing workspace:
Error indexing workspace: Error indexing workspace
	at org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManager.java:555)
	at org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:239)
	at org.apache.jackrabbit.core.RepositoryImpl.getSystemSearchManager(RepositoryImpl.java:686)
	at org.apache.jackrabbit.core.RepositoryImpl.access$300(RepositoryImpl.java:109)
	at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(RepositoryImpl.java:1761)
	at org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImpl.java:667)
	at org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:480)
	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:321)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication$1.<init>(AbstractFabguiApplication.java:151)
	at com.xmltravel.web.brix.core.AbstractFabguiApplication.createFileRepository(AbstractFabguiApplication.java:151)
	... 31 more
Caused by: java.io.IOException: Error indexing workspace
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createInitialIndex(MultiIndex.java:394)
	at org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.java:465)
	at org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryHandler.java:59)
	at org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManager.java:553)
	... 40 more
Caused by: org.apache.jackrabbit.core.state.NoSuchItemStateException:
b05a6677-10db-42ef-b4f1-08ef71348055
	at org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:185)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1060)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createIndex(MultiIndex.java:1066)
	at org.apache.jackrabbit.core.query.lucene.MultiIndex.createInitialIndex(MultiIndex.java:389)
	... 43 more


kind Regards
Dipu








2009/3/19 Dipu <di...@googlemail.com>:
> Hi Thomas,
>
> Thank you very much, that might be the reason why it was failing. I
> will give it a go and let you know.
>
> Thanks & Regards
> Dipu
>
> 2009/3/19 Thomas Müller <th...@day.com>:
>> Hi,
>>
>> Most likely the problem is that both cluster nodes point to the same
>> file system. I have updated the documentation at
>> http://wiki.apache.org/jackrabbit/Clustering
>>
>> "Clustering in Jackrabbit works as follows: content is shared between
>> all cluster nodes. That means all Jackrabbit cluster nodes need access
>> to the SAME persistent storage (persistence manager and data store).
>> However, each cluster node needs its own (private) FileSystem and
>> search index. "
>>
>> Regards,
>> Thomas
>>
>>
>>
>> 2009/3/19 Dipu <di...@googlemail.com>:
>>> Hi Thomas,
>>>
>>> Thanks for the reply.
>>>
>>> This is the error message that gets logged, there is no stacktrace
>>>
>>> 2009-03-19 11:19:19:046 ERROR
>>> org.apache.jackrabbit.core.cluster.ClusterNode
>>> [ClusterNode-dev_node_hestia] - Unable to create workspace: failed to
>>> create workspace configuration at path
>>> /configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54/workspace.xml:
>>> file system entry already exists:
>>> /configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54
>>>
>>> createFolder  method in DatabaseFileSystem class is throwing the
>>> new FileSystemException("file system entry already exists: " +
>>> folderPath); which gets propagated and ClusterNode.process method logs
>>> it.
>>>
>>> this is how the real URL looks
>>>
>>> <param name="url" value="jdbc:postgresql://something.production.mcom/dbname" />
>>>
>>> we connect to the DB fine and i don't think there is any problem there.
>>>
>>> Regards
>>> Dipu
>>>
>>>
>>> 2009/3/19 Thomas Müller <th...@day.com>:
>>>> Hi,
>>>>
>>>> Could you post the exception message and stack trace please?
>>>>
>>>> <param name="url" value="jdbc:postgresql://url" />
>>>>
>>>> Could you also include the real URL?
>>>>
>>>> Regards,
>>>> Thomas
>>>>
>>>>
>>>> On Wed, Mar 18, 2009 at 5:41 PM, Dipu <di...@googlemail.com> wrote:
>>>>> Hi,
>>>>>
>>>>> This is how my repository.xml looks, can someone check if there is
>>>>> anything wrong
>>>>> with my configuration that's resulting in the failure please.
>>>>>
>>>>> <?xml version="1.0"?>
>>>>> <!--
>>>>>   Licensed to the Apache Software Foundation (ASF) under one or more
>>>>>   contributor license agreements.  See the NOTICE file distributed with
>>>>>   this work for additional information regarding copyright ownership.
>>>>>   The ASF licenses this file to You under the Apache License, Version 2.0
>>>>>   (the "License"); you may not use this file except in compliance with
>>>>>   the License.  You may obtain a copy of the License at
>>>>>
>>>>>       http://www.apache.org/licenses/LICENSE-2.0
>>>>>
>>>>>   Unless required by applicable law or agreed to in writing, software
>>>>>   distributed under the License is distributed on an "AS IS" BASIS,
>>>>>   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>>>>>   See the License for the specific language governing permissions and
>>>>>   limitations under the License.
>>>>> -->
>>>>> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD
>>>>> Jackrabbit 1.5//EN"
>>>>>
>>>>> "http://jackrabbit.apache.org/dtd/repository-1.5.dtd">
>>>>> <!-- Example Repository Configuration File -->
>>>>> <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>
>>>>>    -->
>>>>>    <!--
>>>>>        Database File System (Cluster Configuration)
>>>>>        -->
>>>>>
>>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>>                <param name="driver" value="org.postgresql.Driver"/>
>>>>>                <param name="url" value="jdbc:postgresql://url" />
>>>>>                <param name="user" value="user" />
>>>>>                <param name="password" value="pwd" />
>>>>>                <param name="schema" value="postgresql"/>
>>>>>                <param name="schemaObjectPrefix" value="J_R_FS_"/>
>>>>>        </FileSystem>
>>>>>
>>>>>    <!--
>>>>>        security configuration
>>>>>    -->
>>>>>    <Security appName="Jackrabbit">
>>>>>        <!--
>>>>>            access manager:
>>>>>            class: FQN of class implementing the AccessManager interface
>>>>>        -->
>>>>>        <AccessManager
>>>>> class="org.apache.jackrabbit.core.security.SimpleAccessManager">
>>>>>            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
>>>>>        </AccessManager>
>>>>>
>>>>>        <LoginModule
>>>>> class="org.apache.jackrabbit.core.security.SimpleLoginModule">
>>>>>           <!-- anonymous user name ('anonymous' is the default value) -->
>>>>>           <param name="anonymousId" value="anonymous"/>
>>>>>           <!--
>>>>>              default user name to be used instead of the anonymous user
>>>>>              when no login credentials are provided (unset by default)
>>>>>           -->
>>>>>           <!-- <param name="defaultUserId" value="superuser"/> -->
>>>>>        </LoginModule>
>>>>>    </Security>
>>>>>
>>>>>    <!--
>>>>>        location of workspaces root directory and name of default workspace
>>>>>    -->
>>>>>
>>>>>   <Workspaces rootPath="${rep.home}/workspaces"
>>>>> defaultWorkspace="default" configRootPath="/configRootPath"/>
>>>>>
>>>>>    <!--
>>>>>        workspace configuration template:
>>>>>        used to create the initial workspace if there's no workspace yet
>>>>>    -->
>>>>>    <Workspace name="${wsp.name}">
>>>>>        <!--
>>>>>            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>
>>>>>        -->
>>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>>                        <param name="user" value="user" />
>>>>>                        <param name="password" value="pwd" />
>>>>>                        <param name="schema" value="postgresql"/>
>>>>>                        <param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/>
>>>>>                </FileSystem>
>>>>>
>>>>>        <!--
>>>>>            persistence manager of the workspace:
>>>>>            class: FQN of class implementing the PersistenceManager interface
>>>>>        -->
>>>>>
>>>>>        <!--
>>>>>        <PersistenceManager
>>>>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>>>>          <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
>>>>>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>>>>>        </PersistenceManager>
>>>>>        -->
>>>>>
>>>>>         <PersistenceManager
>>>>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>>>>                <param name="url" value="jdbc:postgresql://url"/>
>>>>>                <param name="user" value="user"/>
>>>>>                <param name="password" value="pwd"/>
>>>>>                <param name="schemaObjectPrefix" value="J_PM_${wsp.name}_"/>
>>>>>                <param name="externalBLOBs" value="false"/>
>>>>>        </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.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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>>>>            <param name="extractorPoolSize " value="2"/>
>>>>>            <param name="supportHighlighting" value="true"/>
>>>>>        </SearchIndex>
>>>>>
>>>>>        <ISMLocking
>>>>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>>>>
>>>>>    </Workspace>
>>>>>
>>>>>    <!--
>>>>>        Configures the versioning
>>>>>    -->
>>>>>    <Versioning rootPath="${rep.home}/version">
>>>>>        <!--
>>>>>            Configures the filesystem to use for versioning for the respective
>>>>>            persistence manager
>>>>>        -->
>>>>>        <!--
>>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>>>>>            <param name="path" value="${rep.home}/version" />
>>>>>        </FileSystem>
>>>>>         -->
>>>>>         <!--
>>>>>                Database File System and Persistence (Cluster Configuration)
>>>>>                -->
>>>>>
>>>>>                <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>>                        <param name="user" value="user" />
>>>>>                        <param name="password" value="pwd" />
>>>>>                        <param name="schema" value="postgresql"/>
>>>>>                        <param name="schemaObjectPrefix" value="J_V_FS_"/>
>>>>>                </FileSystem>
>>>>>
>>>>>        <!--
>>>>>            Configures the persistence manager to be used for
>>>>> persisting version state.
>>>>>            Please note that the current versioning implementation is based on
>>>>>            a 'normal' persistence manager, but this could change in future
>>>>>            implementations.
>>>>>        -->
>>>>>        <!--
>>>>>        <PersistenceManager
>>>>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>>>>          <param name="url"
>>>>> value="jdbc:derby:${rep.home}/version/db;create=true"/>
>>>>>          <param name="schemaObjectPrefix" value="version_"/>
>>>>>        </PersistenceManager>
>>>>>         -->
>>>>>         <PersistenceManager
>>>>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>>>>                <param name="url" value="dbc:postgresql://url"/>
>>>>>                <param name="user" value="user"/>
>>>>>                <param name="password" value="pwd"/>
>>>>>                <param name="schemaObjectPrefix" value="J_V_PM_"/>
>>>>>                <param name="externalBLOBs" value="false"/>
>>>>>        </PersistenceManager>
>>>>>
>>>>>        <ISMLocking
>>>>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>>>>
>>>>>    </Versioning>
>>>>>
>>>>>    <!--
>>>>>        Search index for content that is shared repository wide
>>>>>        (/jcr:system tree, contains mainly versions)
>>>>>    -->
>>>>>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>>>>>        <param name="path" value="${rep.home}/repository/index"/>
>>>>>        <param name="textFilterClasses"
>>>>> value="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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>>>>        <param name="extractorPoolSize " value="2"/>
>>>>>        <param name="supportHighlighting" value="true"/>
>>>>>    </SearchIndex>
>>>>>
>>>>>
>>>>>   <!--
>>>>>        Cluster Configuration
>>>>>        -->
>>>>>
>>>>>        <Cluster id="dev_node_hestia" syncDelay="5">
>>>>>                <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
>>>>>                        <param name="revision" value="${rep.home}/revision"/>
>>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>>                        <param name="user" value="user" />
>>>>>                        <param name="password" value="pwd" />
>>>>>                        <param name="schema" value="postgresql"/>
>>>>>                        <param name="schemaObjectPrefix" value="J_C_"/>
>>>>>                </Journal>
>>>>>    </Cluster>
>>>>>
>>>>>
>>>>>        <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
>>>>>                <param name="url" value="jdbc:postgresql://url" />
>>>>>                <param name="user" value="user" />
>>>>>                <param name="password" value="pwd" />
>>>>>                <param name="databaseType" value="postgresql" />
>>>>>                <param name="driver" value="org.postgresql.Driver" />
>>>>>                <param name="minRecordLength" value="1024" />
>>>>>                <param name="maxConnections" value="3" />
>>>>>                <param name="copyWhenReading" value="true" />
>>>>>        </DataStore>
>>>>>
>>>>>
>>>>> </Repository>
>>>>>
>>>>>
>>>>> Thanks
>>>>> Dipu
>>>>>
>>>>
>>>
>>
>

Re: Exception while creating workspace created on another cluster node

Posted by Dipu <di...@googlemail.com>.
Hi Thomas,

Thank you very much, that might be the reason why it was failing. I
will give it a go and let you know.

Thanks & Regards
Dipu

2009/3/19 Thomas Müller <th...@day.com>:
> Hi,
>
> Most likely the problem is that both cluster nodes point to the same
> file system. I have updated the documentation at
> http://wiki.apache.org/jackrabbit/Clustering
>
> "Clustering in Jackrabbit works as follows: content is shared between
> all cluster nodes. That means all Jackrabbit cluster nodes need access
> to the SAME persistent storage (persistence manager and data store).
> However, each cluster node needs its own (private) FileSystem and
> search index. "
>
> Regards,
> Thomas
>
>
>
> 2009/3/19 Dipu <di...@googlemail.com>:
>> Hi Thomas,
>>
>> Thanks for the reply.
>>
>> This is the error message that gets logged, there is no stacktrace
>>
>> 2009-03-19 11:19:19:046 ERROR
>> org.apache.jackrabbit.core.cluster.ClusterNode
>> [ClusterNode-dev_node_hestia] - Unable to create workspace: failed to
>> create workspace configuration at path
>> /configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54/workspace.xml:
>> file system entry already exists:
>> /configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54
>>
>> createFolder  method in DatabaseFileSystem class is throwing the
>> new FileSystemException("file system entry already exists: " +
>> folderPath); which gets propagated and ClusterNode.process method logs
>> it.
>>
>> this is how the real URL looks
>>
>> <param name="url" value="jdbc:postgresql://something.production.mcom/dbname" />
>>
>> we connect to the DB fine and i don't think there is any problem there.
>>
>> Regards
>> Dipu
>>
>>
>> 2009/3/19 Thomas Müller <th...@day.com>:
>>> Hi,
>>>
>>> Could you post the exception message and stack trace please?
>>>
>>> <param name="url" value="jdbc:postgresql://url" />
>>>
>>> Could you also include the real URL?
>>>
>>> Regards,
>>> Thomas
>>>
>>>
>>> On Wed, Mar 18, 2009 at 5:41 PM, Dipu <di...@googlemail.com> wrote:
>>>> Hi,
>>>>
>>>> This is how my repository.xml looks, can someone check if there is
>>>> anything wrong
>>>> with my configuration that's resulting in the failure please.
>>>>
>>>> <?xml version="1.0"?>
>>>> <!--
>>>>   Licensed to the Apache Software Foundation (ASF) under one or more
>>>>   contributor license agreements.  See the NOTICE file distributed with
>>>>   this work for additional information regarding copyright ownership.
>>>>   The ASF licenses this file to You under the Apache License, Version 2.0
>>>>   (the "License"); you may not use this file except in compliance with
>>>>   the License.  You may obtain a copy of the License at
>>>>
>>>>       http://www.apache.org/licenses/LICENSE-2.0
>>>>
>>>>   Unless required by applicable law or agreed to in writing, software
>>>>   distributed under the License is distributed on an "AS IS" BASIS,
>>>>   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>>>>   See the License for the specific language governing permissions and
>>>>   limitations under the License.
>>>> -->
>>>> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD
>>>> Jackrabbit 1.5//EN"
>>>>
>>>> "http://jackrabbit.apache.org/dtd/repository-1.5.dtd">
>>>> <!-- Example Repository Configuration File -->
>>>> <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>
>>>>    -->
>>>>    <!--
>>>>        Database File System (Cluster Configuration)
>>>>        -->
>>>>
>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>                <param name="driver" value="org.postgresql.Driver"/>
>>>>                <param name="url" value="jdbc:postgresql://url" />
>>>>                <param name="user" value="user" />
>>>>                <param name="password" value="pwd" />
>>>>                <param name="schema" value="postgresql"/>
>>>>                <param name="schemaObjectPrefix" value="J_R_FS_"/>
>>>>        </FileSystem>
>>>>
>>>>    <!--
>>>>        security configuration
>>>>    -->
>>>>    <Security appName="Jackrabbit">
>>>>        <!--
>>>>            access manager:
>>>>            class: FQN of class implementing the AccessManager interface
>>>>        -->
>>>>        <AccessManager
>>>> class="org.apache.jackrabbit.core.security.SimpleAccessManager">
>>>>            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
>>>>        </AccessManager>
>>>>
>>>>        <LoginModule
>>>> class="org.apache.jackrabbit.core.security.SimpleLoginModule">
>>>>           <!-- anonymous user name ('anonymous' is the default value) -->
>>>>           <param name="anonymousId" value="anonymous"/>
>>>>           <!--
>>>>              default user name to be used instead of the anonymous user
>>>>              when no login credentials are provided (unset by default)
>>>>           -->
>>>>           <!-- <param name="defaultUserId" value="superuser"/> -->
>>>>        </LoginModule>
>>>>    </Security>
>>>>
>>>>    <!--
>>>>        location of workspaces root directory and name of default workspace
>>>>    -->
>>>>
>>>>   <Workspaces rootPath="${rep.home}/workspaces"
>>>> defaultWorkspace="default" configRootPath="/configRootPath"/>
>>>>
>>>>    <!--
>>>>        workspace configuration template:
>>>>        used to create the initial workspace if there's no workspace yet
>>>>    -->
>>>>    <Workspace name="${wsp.name}">
>>>>        <!--
>>>>            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>
>>>>        -->
>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>                        <param name="user" value="user" />
>>>>                        <param name="password" value="pwd" />
>>>>                        <param name="schema" value="postgresql"/>
>>>>                        <param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/>
>>>>                </FileSystem>
>>>>
>>>>        <!--
>>>>            persistence manager of the workspace:
>>>>            class: FQN of class implementing the PersistenceManager interface
>>>>        -->
>>>>
>>>>        <!--
>>>>        <PersistenceManager
>>>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>>>          <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
>>>>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>>>>        </PersistenceManager>
>>>>        -->
>>>>
>>>>         <PersistenceManager
>>>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>>>                <param name="url" value="jdbc:postgresql://url"/>
>>>>                <param name="user" value="user"/>
>>>>                <param name="password" value="pwd"/>
>>>>                <param name="schemaObjectPrefix" value="J_PM_${wsp.name}_"/>
>>>>                <param name="externalBLOBs" value="false"/>
>>>>        </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.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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>>>            <param name="extractorPoolSize " value="2"/>
>>>>            <param name="supportHighlighting" value="true"/>
>>>>        </SearchIndex>
>>>>
>>>>        <ISMLocking
>>>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>>>
>>>>    </Workspace>
>>>>
>>>>    <!--
>>>>        Configures the versioning
>>>>    -->
>>>>    <Versioning rootPath="${rep.home}/version">
>>>>        <!--
>>>>            Configures the filesystem to use for versioning for the respective
>>>>            persistence manager
>>>>        -->
>>>>        <!--
>>>>        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>>>>            <param name="path" value="${rep.home}/version" />
>>>>        </FileSystem>
>>>>         -->
>>>>         <!--
>>>>                Database File System and Persistence (Cluster Configuration)
>>>>                -->
>>>>
>>>>                <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>                        <param name="user" value="user" />
>>>>                        <param name="password" value="pwd" />
>>>>                        <param name="schema" value="postgresql"/>
>>>>                        <param name="schemaObjectPrefix" value="J_V_FS_"/>
>>>>                </FileSystem>
>>>>
>>>>        <!--
>>>>            Configures the persistence manager to be used for
>>>> persisting version state.
>>>>            Please note that the current versioning implementation is based on
>>>>            a 'normal' persistence manager, but this could change in future
>>>>            implementations.
>>>>        -->
>>>>        <!--
>>>>        <PersistenceManager
>>>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>>>          <param name="url"
>>>> value="jdbc:derby:${rep.home}/version/db;create=true"/>
>>>>          <param name="schemaObjectPrefix" value="version_"/>
>>>>        </PersistenceManager>
>>>>         -->
>>>>         <PersistenceManager
>>>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>>>                <param name="url" value="dbc:postgresql://url"/>
>>>>                <param name="user" value="user"/>
>>>>                <param name="password" value="pwd"/>
>>>>                <param name="schemaObjectPrefix" value="J_V_PM_"/>
>>>>                <param name="externalBLOBs" value="false"/>
>>>>        </PersistenceManager>
>>>>
>>>>        <ISMLocking
>>>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>>>
>>>>    </Versioning>
>>>>
>>>>    <!--
>>>>        Search index for content that is shared repository wide
>>>>        (/jcr:system tree, contains mainly versions)
>>>>    -->
>>>>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>>>>        <param name="path" value="${rep.home}/repository/index"/>
>>>>        <param name="textFilterClasses"
>>>> value="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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>>>        <param name="extractorPoolSize " value="2"/>
>>>>        <param name="supportHighlighting" value="true"/>
>>>>    </SearchIndex>
>>>>
>>>>
>>>>   <!--
>>>>        Cluster Configuration
>>>>        -->
>>>>
>>>>        <Cluster id="dev_node_hestia" syncDelay="5">
>>>>                <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
>>>>                        <param name="revision" value="${rep.home}/revision"/>
>>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>>                        <param name="user" value="user" />
>>>>                        <param name="password" value="pwd" />
>>>>                        <param name="schema" value="postgresql"/>
>>>>                        <param name="schemaObjectPrefix" value="J_C_"/>
>>>>                </Journal>
>>>>    </Cluster>
>>>>
>>>>
>>>>        <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
>>>>                <param name="url" value="jdbc:postgresql://url" />
>>>>                <param name="user" value="user" />
>>>>                <param name="password" value="pwd" />
>>>>                <param name="databaseType" value="postgresql" />
>>>>                <param name="driver" value="org.postgresql.Driver" />
>>>>                <param name="minRecordLength" value="1024" />
>>>>                <param name="maxConnections" value="3" />
>>>>                <param name="copyWhenReading" value="true" />
>>>>        </DataStore>
>>>>
>>>>
>>>> </Repository>
>>>>
>>>>
>>>> Thanks
>>>> Dipu
>>>>
>>>
>>
>

Re: Exception while creating workspace created on another cluster node

Posted by Thomas Müller <th...@day.com>.
Hi,

Most likely the problem is that both cluster nodes point to the same
file system. I have updated the documentation at
http://wiki.apache.org/jackrabbit/Clustering

"Clustering in Jackrabbit works as follows: content is shared between
all cluster nodes. That means all Jackrabbit cluster nodes need access
to the SAME persistent storage (persistence manager and data store).
However, each cluster node needs its own (private) FileSystem and
search index. "

Regards,
Thomas



2009/3/19 Dipu <di...@googlemail.com>:
> Hi Thomas,
>
> Thanks for the reply.
>
> This is the error message that gets logged, there is no stacktrace
>
> 2009-03-19 11:19:19:046 ERROR
> org.apache.jackrabbit.core.cluster.ClusterNode
> [ClusterNode-dev_node_hestia] - Unable to create workspace: failed to
> create workspace configuration at path
> /configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54/workspace.xml:
> file system entry already exists:
> /configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54
>
> createFolder  method in DatabaseFileSystem class is throwing the
> new FileSystemException("file system entry already exists: " +
> folderPath); which gets propagated and ClusterNode.process method logs
> it.
>
> this is how the real URL looks
>
> <param name="url" value="jdbc:postgresql://something.production.mcom/dbname" />
>
> we connect to the DB fine and i don't think there is any problem there.
>
> Regards
> Dipu
>
>
> 2009/3/19 Thomas Müller <th...@day.com>:
>> Hi,
>>
>> Could you post the exception message and stack trace please?
>>
>> <param name="url" value="jdbc:postgresql://url" />
>>
>> Could you also include the real URL?
>>
>> Regards,
>> Thomas
>>
>>
>> On Wed, Mar 18, 2009 at 5:41 PM, Dipu <di...@googlemail.com> wrote:
>>> Hi,
>>>
>>> This is how my repository.xml looks, can someone check if there is
>>> anything wrong
>>> with my configuration that's resulting in the failure please.
>>>
>>> <?xml version="1.0"?>
>>> <!--
>>>   Licensed to the Apache Software Foundation (ASF) under one or more
>>>   contributor license agreements.  See the NOTICE file distributed with
>>>   this work for additional information regarding copyright ownership.
>>>   The ASF licenses this file to You under the Apache License, Version 2.0
>>>   (the "License"); you may not use this file except in compliance with
>>>   the License.  You may obtain a copy of the License at
>>>
>>>       http://www.apache.org/licenses/LICENSE-2.0
>>>
>>>   Unless required by applicable law or agreed to in writing, software
>>>   distributed under the License is distributed on an "AS IS" BASIS,
>>>   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>>>   See the License for the specific language governing permissions and
>>>   limitations under the License.
>>> -->
>>> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD
>>> Jackrabbit 1.5//EN"
>>>
>>> "http://jackrabbit.apache.org/dtd/repository-1.5.dtd">
>>> <!-- Example Repository Configuration File -->
>>> <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>
>>>    -->
>>>    <!--
>>>        Database File System (Cluster Configuration)
>>>        -->
>>>
>>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>                <param name="driver" value="org.postgresql.Driver"/>
>>>                <param name="url" value="jdbc:postgresql://url" />
>>>                <param name="user" value="user" />
>>>                <param name="password" value="pwd" />
>>>                <param name="schema" value="postgresql"/>
>>>                <param name="schemaObjectPrefix" value="J_R_FS_"/>
>>>        </FileSystem>
>>>
>>>    <!--
>>>        security configuration
>>>    -->
>>>    <Security appName="Jackrabbit">
>>>        <!--
>>>            access manager:
>>>            class: FQN of class implementing the AccessManager interface
>>>        -->
>>>        <AccessManager
>>> class="org.apache.jackrabbit.core.security.SimpleAccessManager">
>>>            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
>>>        </AccessManager>
>>>
>>>        <LoginModule
>>> class="org.apache.jackrabbit.core.security.SimpleLoginModule">
>>>           <!-- anonymous user name ('anonymous' is the default value) -->
>>>           <param name="anonymousId" value="anonymous"/>
>>>           <!--
>>>              default user name to be used instead of the anonymous user
>>>              when no login credentials are provided (unset by default)
>>>           -->
>>>           <!-- <param name="defaultUserId" value="superuser"/> -->
>>>        </LoginModule>
>>>    </Security>
>>>
>>>    <!--
>>>        location of workspaces root directory and name of default workspace
>>>    -->
>>>
>>>   <Workspaces rootPath="${rep.home}/workspaces"
>>> defaultWorkspace="default" configRootPath="/configRootPath"/>
>>>
>>>    <!--
>>>        workspace configuration template:
>>>        used to create the initial workspace if there's no workspace yet
>>>    -->
>>>    <Workspace name="${wsp.name}">
>>>        <!--
>>>            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>
>>>        -->
>>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>                        <param name="user" value="user" />
>>>                        <param name="password" value="pwd" />
>>>                        <param name="schema" value="postgresql"/>
>>>                        <param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/>
>>>                </FileSystem>
>>>
>>>        <!--
>>>            persistence manager of the workspace:
>>>            class: FQN of class implementing the PersistenceManager interface
>>>        -->
>>>
>>>        <!--
>>>        <PersistenceManager
>>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>>          <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
>>>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>>>        </PersistenceManager>
>>>        -->
>>>
>>>         <PersistenceManager
>>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>>                <param name="url" value="jdbc:postgresql://url"/>
>>>                <param name="user" value="user"/>
>>>                <param name="password" value="pwd"/>
>>>                <param name="schemaObjectPrefix" value="J_PM_${wsp.name}_"/>
>>>                <param name="externalBLOBs" value="false"/>
>>>        </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.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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>>            <param name="extractorPoolSize " value="2"/>
>>>            <param name="supportHighlighting" value="true"/>
>>>        </SearchIndex>
>>>
>>>        <ISMLocking
>>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>>
>>>    </Workspace>
>>>
>>>    <!--
>>>        Configures the versioning
>>>    -->
>>>    <Versioning rootPath="${rep.home}/version">
>>>        <!--
>>>            Configures the filesystem to use for versioning for the respective
>>>            persistence manager
>>>        -->
>>>        <!--
>>>        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>>>            <param name="path" value="${rep.home}/version" />
>>>        </FileSystem>
>>>         -->
>>>         <!--
>>>                Database File System and Persistence (Cluster Configuration)
>>>                -->
>>>
>>>                <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>                        <param name="user" value="user" />
>>>                        <param name="password" value="pwd" />
>>>                        <param name="schema" value="postgresql"/>
>>>                        <param name="schemaObjectPrefix" value="J_V_FS_"/>
>>>                </FileSystem>
>>>
>>>        <!--
>>>            Configures the persistence manager to be used for
>>> persisting version state.
>>>            Please note that the current versioning implementation is based on
>>>            a 'normal' persistence manager, but this could change in future
>>>            implementations.
>>>        -->
>>>        <!--
>>>        <PersistenceManager
>>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>>          <param name="url"
>>> value="jdbc:derby:${rep.home}/version/db;create=true"/>
>>>          <param name="schemaObjectPrefix" value="version_"/>
>>>        </PersistenceManager>
>>>         -->
>>>         <PersistenceManager
>>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>>                <param name="url" value="dbc:postgresql://url"/>
>>>                <param name="user" value="user"/>
>>>                <param name="password" value="pwd"/>
>>>                <param name="schemaObjectPrefix" value="J_V_PM_"/>
>>>                <param name="externalBLOBs" value="false"/>
>>>        </PersistenceManager>
>>>
>>>        <ISMLocking
>>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>>
>>>    </Versioning>
>>>
>>>    <!--
>>>        Search index for content that is shared repository wide
>>>        (/jcr:system tree, contains mainly versions)
>>>    -->
>>>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>>>        <param name="path" value="${rep.home}/repository/index"/>
>>>        <param name="textFilterClasses"
>>> value="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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>>        <param name="extractorPoolSize " value="2"/>
>>>        <param name="supportHighlighting" value="true"/>
>>>    </SearchIndex>
>>>
>>>
>>>   <!--
>>>        Cluster Configuration
>>>        -->
>>>
>>>        <Cluster id="dev_node_hestia" syncDelay="5">
>>>                <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
>>>                        <param name="revision" value="${rep.home}/revision"/>
>>>                        <param name="driver" value="org.postgresql.Driver"/>
>>>                        <param name="url" value="jdbc:postgresql://url" />
>>>                        <param name="user" value="user" />
>>>                        <param name="password" value="pwd" />
>>>                        <param name="schema" value="postgresql"/>
>>>                        <param name="schemaObjectPrefix" value="J_C_"/>
>>>                </Journal>
>>>    </Cluster>
>>>
>>>
>>>        <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
>>>                <param name="url" value="jdbc:postgresql://url" />
>>>                <param name="user" value="user" />
>>>                <param name="password" value="pwd" />
>>>                <param name="databaseType" value="postgresql" />
>>>                <param name="driver" value="org.postgresql.Driver" />
>>>                <param name="minRecordLength" value="1024" />
>>>                <param name="maxConnections" value="3" />
>>>                <param name="copyWhenReading" value="true" />
>>>        </DataStore>
>>>
>>>
>>> </Repository>
>>>
>>>
>>> Thanks
>>> Dipu
>>>
>>
>

Re: Exception while creating workspace created on another cluster node

Posted by Dipu <di...@googlemail.com>.
Hi Thomas,

Thanks for the reply.

This is the error message that gets logged, there is no stacktrace

2009-03-19 11:19:19:046 ERROR
org.apache.jackrabbit.core.cluster.ClusterNode
[ClusterNode-dev_node_hestia] - Unable to create workspace: failed to
create workspace configuration at path
/configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54/workspace.xml:
file system entry already exists:
/configRootPath/brix_ws_59e521c6_676b_4782_9ba9_ef3651e1fb54

createFolder  method in DatabaseFileSystem class is throwing the
new FileSystemException("file system entry already exists: " +
folderPath); which gets propagated and ClusterNode.process method logs
it.

this is how the real URL looks

<param name="url" value="jdbc:postgresql://something.production.mcom/dbname" />

we connect to the DB fine and i don't think there is any problem there.

Regards
Dipu


2009/3/19 Thomas Müller <th...@day.com>:
> Hi,
>
> Could you post the exception message and stack trace please?
>
> <param name="url" value="jdbc:postgresql://url" />
>
> Could you also include the real URL?
>
> Regards,
> Thomas
>
>
> On Wed, Mar 18, 2009 at 5:41 PM, Dipu <di...@googlemail.com> wrote:
>> Hi,
>>
>> This is how my repository.xml looks, can someone check if there is
>> anything wrong
>> with my configuration that's resulting in the failure please.
>>
>> <?xml version="1.0"?>
>> <!--
>>   Licensed to the Apache Software Foundation (ASF) under one or more
>>   contributor license agreements.  See the NOTICE file distributed with
>>   this work for additional information regarding copyright ownership.
>>   The ASF licenses this file to You under the Apache License, Version 2.0
>>   (the "License"); you may not use this file except in compliance with
>>   the License.  You may obtain a copy of the License at
>>
>>       http://www.apache.org/licenses/LICENSE-2.0
>>
>>   Unless required by applicable law or agreed to in writing, software
>>   distributed under the License is distributed on an "AS IS" BASIS,
>>   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>>   See the License for the specific language governing permissions and
>>   limitations under the License.
>> -->
>> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD
>> Jackrabbit 1.5//EN"
>>
>> "http://jackrabbit.apache.org/dtd/repository-1.5.dtd">
>> <!-- Example Repository Configuration File -->
>> <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>
>>    -->
>>    <!--
>>        Database File System (Cluster Configuration)
>>        -->
>>
>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>                <param name="driver" value="org.postgresql.Driver"/>
>>                <param name="url" value="jdbc:postgresql://url" />
>>                <param name="user" value="user" />
>>                <param name="password" value="pwd" />
>>                <param name="schema" value="postgresql"/>
>>                <param name="schemaObjectPrefix" value="J_R_FS_"/>
>>        </FileSystem>
>>
>>    <!--
>>        security configuration
>>    -->
>>    <Security appName="Jackrabbit">
>>        <!--
>>            access manager:
>>            class: FQN of class implementing the AccessManager interface
>>        -->
>>        <AccessManager
>> class="org.apache.jackrabbit.core.security.SimpleAccessManager">
>>            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
>>        </AccessManager>
>>
>>        <LoginModule
>> class="org.apache.jackrabbit.core.security.SimpleLoginModule">
>>           <!-- anonymous user name ('anonymous' is the default value) -->
>>           <param name="anonymousId" value="anonymous"/>
>>           <!--
>>              default user name to be used instead of the anonymous user
>>              when no login credentials are provided (unset by default)
>>           -->
>>           <!-- <param name="defaultUserId" value="superuser"/> -->
>>        </LoginModule>
>>    </Security>
>>
>>    <!--
>>        location of workspaces root directory and name of default workspace
>>    -->
>>
>>   <Workspaces rootPath="${rep.home}/workspaces"
>> defaultWorkspace="default" configRootPath="/configRootPath"/>
>>
>>    <!--
>>        workspace configuration template:
>>        used to create the initial workspace if there's no workspace yet
>>    -->
>>    <Workspace name="${wsp.name}">
>>        <!--
>>            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>
>>        -->
>>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>                        <param name="driver" value="org.postgresql.Driver"/>
>>                        <param name="url" value="jdbc:postgresql://url" />
>>                        <param name="user" value="user" />
>>                        <param name="password" value="pwd" />
>>                        <param name="schema" value="postgresql"/>
>>                        <param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/>
>>                </FileSystem>
>>
>>        <!--
>>            persistence manager of the workspace:
>>            class: FQN of class implementing the PersistenceManager interface
>>        -->
>>
>>        <!--
>>        <PersistenceManager
>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>          <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
>>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>>        </PersistenceManager>
>>        -->
>>
>>         <PersistenceManager
>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>                <param name="url" value="jdbc:postgresql://url"/>
>>                <param name="user" value="user"/>
>>                <param name="password" value="pwd"/>
>>                <param name="schemaObjectPrefix" value="J_PM_${wsp.name}_"/>
>>                <param name="externalBLOBs" value="false"/>
>>        </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.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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>            <param name="extractorPoolSize " value="2"/>
>>            <param name="supportHighlighting" value="true"/>
>>        </SearchIndex>
>>
>>        <ISMLocking
>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>
>>    </Workspace>
>>
>>    <!--
>>        Configures the versioning
>>    -->
>>    <Versioning rootPath="${rep.home}/version">
>>        <!--
>>            Configures the filesystem to use for versioning for the respective
>>            persistence manager
>>        -->
>>        <!--
>>        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>>            <param name="path" value="${rep.home}/version" />
>>        </FileSystem>
>>         -->
>>         <!--
>>                Database File System and Persistence (Cluster Configuration)
>>                -->
>>
>>                <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>>                        <param name="driver" value="org.postgresql.Driver"/>
>>                        <param name="url" value="jdbc:postgresql://url" />
>>                        <param name="user" value="user" />
>>                        <param name="password" value="pwd" />
>>                        <param name="schema" value="postgresql"/>
>>                        <param name="schemaObjectPrefix" value="J_V_FS_"/>
>>                </FileSystem>
>>
>>        <!--
>>            Configures the persistence manager to be used for
>> persisting version state.
>>            Please note that the current versioning implementation is based on
>>            a 'normal' persistence manager, but this could change in future
>>            implementations.
>>        -->
>>        <!--
>>        <PersistenceManager
>> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>>          <param name="url"
>> value="jdbc:derby:${rep.home}/version/db;create=true"/>
>>          <param name="schemaObjectPrefix" value="version_"/>
>>        </PersistenceManager>
>>         -->
>>         <PersistenceManager
>> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>>                <param name="url" value="dbc:postgresql://url"/>
>>                <param name="user" value="user"/>
>>                <param name="password" value="pwd"/>
>>                <param name="schemaObjectPrefix" value="J_V_PM_"/>
>>                <param name="externalBLOBs" value="false"/>
>>        </PersistenceManager>
>>
>>        <ISMLocking
>> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>>
>>    </Versioning>
>>
>>    <!--
>>        Search index for content that is shared repository wide
>>        (/jcr:system tree, contains mainly versions)
>>    -->
>>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>>        <param name="path" value="${rep.home}/repository/index"/>
>>        <param name="textFilterClasses"
>> value="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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>>        <param name="extractorPoolSize " value="2"/>
>>        <param name="supportHighlighting" value="true"/>
>>    </SearchIndex>
>>
>>
>>   <!--
>>        Cluster Configuration
>>        -->
>>
>>        <Cluster id="dev_node_hestia" syncDelay="5">
>>                <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
>>                        <param name="revision" value="${rep.home}/revision"/>
>>                        <param name="driver" value="org.postgresql.Driver"/>
>>                        <param name="url" value="jdbc:postgresql://url" />
>>                        <param name="user" value="user" />
>>                        <param name="password" value="pwd" />
>>                        <param name="schema" value="postgresql"/>
>>                        <param name="schemaObjectPrefix" value="J_C_"/>
>>                </Journal>
>>    </Cluster>
>>
>>
>>        <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
>>                <param name="url" value="jdbc:postgresql://url" />
>>                <param name="user" value="user" />
>>                <param name="password" value="pwd" />
>>                <param name="databaseType" value="postgresql" />
>>                <param name="driver" value="org.postgresql.Driver" />
>>                <param name="minRecordLength" value="1024" />
>>                <param name="maxConnections" value="3" />
>>                <param name="copyWhenReading" value="true" />
>>        </DataStore>
>>
>>
>> </Repository>
>>
>>
>> Thanks
>> Dipu
>>
>

Re: Exception while creating workspace created on another cluster node

Posted by Thomas Müller <th...@day.com>.
Hi,

Could you post the exception message and stack trace please?

<param name="url" value="jdbc:postgresql://url" />

Could you also include the real URL?

Regards,
Thomas


On Wed, Mar 18, 2009 at 5:41 PM, Dipu <di...@googlemail.com> wrote:
> Hi,
>
> This is how my repository.xml looks, can someone check if there is
> anything wrong
> with my configuration that's resulting in the failure please.
>
> <?xml version="1.0"?>
> <!--
>   Licensed to the Apache Software Foundation (ASF) under one or more
>   contributor license agreements.  See the NOTICE file distributed with
>   this work for additional information regarding copyright ownership.
>   The ASF licenses this file to You under the Apache License, Version 2.0
>   (the "License"); you may not use this file except in compliance with
>   the License.  You may obtain a copy of the License at
>
>       http://www.apache.org/licenses/LICENSE-2.0
>
>   Unless required by applicable law or agreed to in writing, software
>   distributed under the License is distributed on an "AS IS" BASIS,
>   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>   See the License for the specific language governing permissions and
>   limitations under the License.
> -->
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD
> Jackrabbit 1.5//EN"
>
> "http://jackrabbit.apache.org/dtd/repository-1.5.dtd">
> <!-- Example Repository Configuration File -->
> <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>
>    -->
>    <!--
>        Database File System (Cluster Configuration)
>        -->
>
>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>                <param name="driver" value="org.postgresql.Driver"/>
>                <param name="url" value="jdbc:postgresql://url" />
>                <param name="user" value="user" />
>                <param name="password" value="pwd" />
>                <param name="schema" value="postgresql"/>
>                <param name="schemaObjectPrefix" value="J_R_FS_"/>
>        </FileSystem>
>
>    <!--
>        security configuration
>    -->
>    <Security appName="Jackrabbit">
>        <!--
>            access manager:
>            class: FQN of class implementing the AccessManager interface
>        -->
>        <AccessManager
> class="org.apache.jackrabbit.core.security.SimpleAccessManager">
>            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
>        </AccessManager>
>
>        <LoginModule
> class="org.apache.jackrabbit.core.security.SimpleLoginModule">
>           <!-- anonymous user name ('anonymous' is the default value) -->
>           <param name="anonymousId" value="anonymous"/>
>           <!--
>              default user name to be used instead of the anonymous user
>              when no login credentials are provided (unset by default)
>           -->
>           <!-- <param name="defaultUserId" value="superuser"/> -->
>        </LoginModule>
>    </Security>
>
>    <!--
>        location of workspaces root directory and name of default workspace
>    -->
>
>   <Workspaces rootPath="${rep.home}/workspaces"
> defaultWorkspace="default" configRootPath="/configRootPath"/>
>
>    <!--
>        workspace configuration template:
>        used to create the initial workspace if there's no workspace yet
>    -->
>    <Workspace name="${wsp.name}">
>        <!--
>            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>
>        -->
>        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>                        <param name="driver" value="org.postgresql.Driver"/>
>                        <param name="url" value="jdbc:postgresql://url" />
>                        <param name="user" value="user" />
>                        <param name="password" value="pwd" />
>                        <param name="schema" value="postgresql"/>
>                        <param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/>
>                </FileSystem>
>
>        <!--
>            persistence manager of the workspace:
>            class: FQN of class implementing the PersistenceManager interface
>        -->
>
>        <!--
>        <PersistenceManager
> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
>          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>        </PersistenceManager>
>        -->
>
>         <PersistenceManager
> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>                <param name="url" value="jdbc:postgresql://url"/>
>                <param name="user" value="user"/>
>                <param name="password" value="pwd"/>
>                <param name="schemaObjectPrefix" value="J_PM_${wsp.name}_"/>
>                <param name="externalBLOBs" value="false"/>
>        </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.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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>            <param name="extractorPoolSize " value="2"/>
>            <param name="supportHighlighting" value="true"/>
>        </SearchIndex>
>
>        <ISMLocking
> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>
>    </Workspace>
>
>    <!--
>        Configures the versioning
>    -->
>    <Versioning rootPath="${rep.home}/version">
>        <!--
>            Configures the filesystem to use for versioning for the respective
>            persistence manager
>        -->
>        <!--
>        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>            <param name="path" value="${rep.home}/version" />
>        </FileSystem>
>         -->
>         <!--
>                Database File System and Persistence (Cluster Configuration)
>                -->
>
>                <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>                        <param name="driver" value="org.postgresql.Driver"/>
>                        <param name="url" value="jdbc:postgresql://url" />
>                        <param name="user" value="user" />
>                        <param name="password" value="pwd" />
>                        <param name="schema" value="postgresql"/>
>                        <param name="schemaObjectPrefix" value="J_V_FS_"/>
>                </FileSystem>
>
>        <!--
>            Configures the persistence manager to be used for
> persisting version state.
>            Please note that the current versioning implementation is based on
>            a 'normal' persistence manager, but this could change in future
>            implementations.
>        -->
>        <!--
>        <PersistenceManager
> class="org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager">
>          <param name="url"
> value="jdbc:derby:${rep.home}/version/db;create=true"/>
>          <param name="schemaObjectPrefix" value="version_"/>
>        </PersistenceManager>
>         -->
>         <PersistenceManager
> class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
>                <param name="url" value="dbc:postgresql://url"/>
>                <param name="user" value="user"/>
>                <param name="password" value="pwd"/>
>                <param name="schemaObjectPrefix" value="J_V_PM_"/>
>                <param name="externalBLOBs" value="false"/>
>        </PersistenceManager>
>
>        <ISMLocking
> class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"></ISMLocking>
>
>    </Versioning>
>
>    <!--
>        Search index for content that is shared repository wide
>        (/jcr:system tree, contains mainly versions)
>    -->
>    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>        <param name="path" value="${rep.home}/repository/index"/>
>        <param name="textFilterClasses"
> value="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,brix.jcr.jackrabbit.HtmlTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>        <param name="extractorPoolSize " value="2"/>
>        <param name="supportHighlighting" value="true"/>
>    </SearchIndex>
>
>
>   <!--
>        Cluster Configuration
>        -->
>
>        <Cluster id="dev_node_hestia" syncDelay="5">
>                <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
>                        <param name="revision" value="${rep.home}/revision"/>
>                        <param name="driver" value="org.postgresql.Driver"/>
>                        <param name="url" value="jdbc:postgresql://url" />
>                        <param name="user" value="user" />
>                        <param name="password" value="pwd" />
>                        <param name="schema" value="postgresql"/>
>                        <param name="schemaObjectPrefix" value="J_C_"/>
>                </Journal>
>    </Cluster>
>
>
>        <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
>                <param name="url" value="jdbc:postgresql://url" />
>                <param name="user" value="user" />
>                <param name="password" value="pwd" />
>                <param name="databaseType" value="postgresql" />
>                <param name="driver" value="org.postgresql.Driver" />
>                <param name="minRecordLength" value="1024" />
>                <param name="maxConnections" value="3" />
>                <param name="copyWhenReading" value="true" />
>        </DataStore>
>
>
> </Repository>
>
>
> Thanks
> Dipu
>