jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dipu <dipu....@googlemail.com>
Subject Re: Exception while creating workspace created on another cluster node
Date Wed, 08 Apr 2009 09:10:05 GMT
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 <thomas.mueller@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 <dipu.wkt@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 <thomas.mueller@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 <dipu.wkt@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 <thomas.mueller@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 <dipu.wkt@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
>>>>>>
>>>>>
>>>>
>>>
>>
>

Mime
View raw message