You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Thomas Müller <th...@day.com> on 2010/06/07 14:04:31 UTC

Re: Problems Migrating Cluster Data

Hi,

I think the main problem is that each cluster node uses it's own
persistence manager (database on localhost). See
http://wiki.apache.org/jackrabbit/Clustering "That means all
Jackrabbit cluster nodes need access to the SAME persistent storage
(persistence manager and data store)." By the way, this is not the
case for the file system: "However, each cluster node needs its own
(private) FileSystem  and Search index."

Regards,
Thomas

RE: Problems Migrating Cluster Data

Posted by Juan Diego Botiva Leon <ju...@hotmail.com>.
Hi,

I'm assigning the Cluster ID by setting the system property org.apache.jackrabbit.core.cluster.node_id. But, as the FileSystem is shared between nodes, is it possible to separate the FileSystems without loosing any data ? and, all FileSystems must be private (Repository, Workspace, Versioning) ? Thanks in advance.

Regards,
Juan Diego Botiva


> Date: Tue, 8 Jun 2010 13:18:10 -0400
> From: justinedelson@gmail.com
> To: users@jackrabbit.apache.org
> Subject: Re: Problems Migrating Cluster Data
> 
> A few things jump out in the configuration below:
> 1) You aren't assigning a Cluster ID. This is required.
> 2) Each cluster node is sharing the same database for the FileSystem
> implementations. This is wrong. Each cluster node needs a private
> FileSystem (as Thomas said below).
> 
> You can find them on the wiki link Thomas sent below, but the clustering
> prerequisties are worth repeating:
> 1) Each cluster node must have its own repository configuration.
> 2) Each cluster node needs its own (private) FileSystem and Search index.
> 3) Every cluster node must be assigned a unique ID.
> 4) A journal type must be chosen, either based on files or stored in a
> database.
> 5) The persistence managers must store their data in the same, globally
> accessible location (see PersistenceManagerFAQ).
> 6) A DataStore must always be shared between nodes, if used.
> 
> You seem to be OK on #4 and #5, but not #1, #2, and #3.
> 
> HTH,
> Justin
> 
> On 6/8/10 1:07 PM, Juan Diego Botiva Leon wrote:
> > 
> > Hi,
> > 
> > In the repository.xml file I sent before, the database is at localhost because our test environment is a single node cluster, JBoss and MySQL run on the same machine. But yesterday I made a test in our production environment (2-node cluster, both using the same persistence manager): I changed the path of the repository folder to a new one and when I started JBoss, the index was regenerated but when I tried to access nodes created after moving to a cluster, they were never found, then I simply changed the path back to how it was and I was able to access the nodes again. So I think it has something to do with what is stored in the repository folder even if we have everything in MySQL except for the search index. What can I do in order to move data between environments with this setup. Below is our repository.xml production file, it is the same in both nodes. Thanks in advance.
> > 
> > Regards,
> > Juan Diego Botiva
> > 
> > 
> > <?xml version="1.0"?>
> > <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.5//EN" "http://jackrabbit.apache.org/dtd/repository-1.5.dtd">
> > <Repository>
> >     <Cluster syncDelay="10000">
> >         <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
> >             <param name="revision" value="${rep.home}/revision.log" />
> >             <param name="driver" value="com.mysql.jdbc.Driver" />
> >             <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbutil?autoReconnect=true" />
> >             <param name="user" value="dbroot"/>
> >             <param name="password" value="dbpwd"/>
> >         </Journal>
> >     </Cluster>
> >     <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
> >         <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
> >         <param name="user" value="dbroot"/>
> >         <param name="password" value="dbpwd"/>
> >         <param name="driver" value="com.mysql.jdbc.Driver"/>
> >         <param name="schema" value="mysql"/>
> >         <param name="schemaObjectPrefix" value="jcr_repository_fs_"/> 
> >     </FileSystem>
> >     <Security appName="Jackrabbit">
> >         <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager"/>
> >         <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">
> >            <param name="anonymousId" value="anonymous"/>
> >            <param name="jruser" value="superuser"/>
> >         </LoginModule>
> >     </Security>
> >     <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="MyWP"/>
> >     <Workspace name="${wsp.name}">
> >         <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
> >             <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
> >             <param name="user" value="dbroot"/>
> >             <param name="password" value="dbpwd"/>
> >             <param name="driver" value="com.mysql.jdbc.Driver"/>
> >             <param name="schema" value="mysql"/>
> >             <param name="schemaObjectPrefix" value="jcr_${wsp.name}_fs_"/> 
> >         </FileSystem>
> >         <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
> >             <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
> >             <param name="user" value="dbroot"/>
> >             <param name="password" value="dbpwd"/>
> >             <param name="driver" value="com.mysql.jdbc.Driver"/>
> >             <param name="schemaObjectPrefix" value="jcr_${wsp.name}_pm_"/> 
> >             <param name="externalBLOBs" value="false"/>
> >         </PersistenceManager>
> >         <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
> >             <param name="path" value="${wsp.home}/index"/>
> >             <param name="indexingConfiguration" value="index-config.xml"/>
> >             <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,org.apache.jackrabbit.extractor.HTMLTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
> >             <param name="extractorPoolSize" value="2"/>
> >             <param name="extractorTimeout" value="5000"/>
> >         </SearchIndex>
> >     </Workspace>
> >     <Versioning rootPath="${rep.home}/version">
> >         <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
> >             <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
> >             <param name="user" value="dbroot"/>
> >             <param name="password" value="dbpwd"/>
> >             <param name="driver" value="com.mysql.jdbc.Driver"/>
> >             <param name="schema" value="mysql"/>
> >             <param name="schemaObjectPrefix" value="jcr_version_fs_"/> 
> >         </FileSystem>
> >         <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
> >             <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
> >             <param name="user" value="dbroot"/>
> >             <param name="password" value="dbpwd"/>
> >             <param name="driver" value="com.mysql.jdbc.Driver"/>
> >             <param name="schemaObjectPrefix" value="jcr_version_pm_"/> 
> >             <param name="externalBLOBs" value="false"/>
> >         </PersistenceManager>
> >     </Versioning>
> > </Repository>
> > 
> > 
> > 
> >> Date: Mon, 7 Jun 2010 14:04:31 +0200
> >> Subject: Re: Problems Migrating Cluster Data
> >> From: thomas.mueller@day.com
> >> To: users@jackrabbit.apache.org
> >>
> >> Hi,
> >>
> >> I think the main problem is that each cluster node uses it's own
> >> persistence manager (database on localhost). See
> >> http://wiki.apache.org/jackrabbit/Clustering "That means all
> >> Jackrabbit cluster nodes need access to the SAME persistent storage
> >> (persistence manager and data store)." By the way, this is not the
> >> case for the file system: "However, each cluster node needs its own
> >> (private) FileSystem  and Search index."
> >>
> >> Regards,
> >> Thomas
> >  		 	   		  
> > _________________________________________________________________
> > The New Busy is not the old busy. Search, chat and e-mail from your inbox.
> > http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_3
> 
 		 	   		  
_________________________________________________________________
The New Busy think 9 to 5 is a cute idea. Combine multiple calendars with Hotmail. 
http://www.windowslive.com/campaign/thenewbusy?tile=multicalendar&ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_5

RE: Problems Migrating Cluster Data

Posted by Juan Diego Botiva Leon <ju...@hotmail.com>.
Hi!

I finally managed to get the full data of our database, the problem was with mysqldump. But I still have both nodes FileSystems pointing to the same database. Which would be the right way to have a separate FileSystem for each node without loosing any data ? 

Thanks in advance.

Regards

Juan Diego B.



> Date: Tue, 8 Jun 2010 13:18:10 -0400
> From: justinedelson@gmail.com
> To: users@jackrabbit.apache.org
> Subject: Re: Problems Migrating Cluster Data
> 
> A few things jump out in the configuration below:
> 1) You aren't assigning a Cluster ID. This is required.
> 2) Each cluster node is sharing the same database for the FileSystem
> implementations. This is wrong. Each cluster node needs a private
> FileSystem (as Thomas said below).
> 
> You can find them on the wiki link Thomas sent below, but the clustering
> prerequisties are worth repeating:
> 1) Each cluster node must have its own repository configuration.
> 2) Each cluster node needs its own (private) FileSystem and Search index.
> 3) Every cluster node must be assigned a unique ID.
> 4) A journal type must be chosen, either based on files or stored in a
> database.
> 5) The persistence managers must store their data in the same, globally
> accessible location (see PersistenceManagerFAQ).
> 6) A DataStore must always be shared between nodes, if used.
> 
> You seem to be OK on #4 and #5, but not #1, #2, and #3.
> 
> HTH,
> Justin
> 
> On 6/8/10 1:07 PM, Juan Diego Botiva Leon wrote:
> > 
> > Hi,
> > 
> > In the repository.xml file I sent before, the database is at localhost because our test environment is a single node cluster, JBoss and MySQL run on the same machine. But yesterday I made a test in our production environment (2-node cluster, both using the same persistence manager): I changed the path of the repository folder to a new one and when I started JBoss, the index was regenerated but when I tried to access nodes created after moving to a cluster, they were never found, then I simply changed the path back to how it was and I was able to access the nodes again. So I think it has something to do with what is stored in the repository folder even if we have everything in MySQL except for the search index. What can I do in order to move data between environments with this setup. Below is our repository.xml production file, it is the same in both nodes. Thanks in advance.
> > 
> > Regards,
> > Juan Diego Botiva
> > 
> > 
> > <?xml version="1.0"?>
> > <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.5//EN" "http://jackrabbit.apache.org/dtd/repository-1.5.dtd">
> > <Repository>
> >     <Cluster syncDelay="10000">
> >         <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
> >             <param name="revision" value="${rep.home}/revision.log" />
> >             <param name="driver" value="com.mysql.jdbc.Driver" />
> >             <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbutil?autoReconnect=true" />
> >             <param name="user" value="dbroot"/>
> >             <param name="password" value="dbpwd"/>
> >         </Journal>
> >     </Cluster>
> >     <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
> >         <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
> >         <param name="user" value="dbroot"/>
> >         <param name="password" value="dbpwd"/>
> >         <param name="driver" value="com.mysql.jdbc.Driver"/>
> >         <param name="schema" value="mysql"/>
> >         <param name="schemaObjectPrefix" value="jcr_repository_fs_"/> 
> >     </FileSystem>
> >     <Security appName="Jackrabbit">
> >         <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager"/>
> >         <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">
> >            <param name="anonymousId" value="anonymous"/>
> >            <param name="jruser" value="superuser"/>
> >         </LoginModule>
> >     </Security>
> >     <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="MyWP"/>
> >     <Workspace name="${wsp.name}">
> >         <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
> >             <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
> >             <param name="user" value="dbroot"/>
> >             <param name="password" value="dbpwd"/>
> >             <param name="driver" value="com.mysql.jdbc.Driver"/>
> >             <param name="schema" value="mysql"/>
> >             <param name="schemaObjectPrefix" value="jcr_${wsp.name}_fs_"/> 
> >         </FileSystem>
> >         <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
> >             <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
> >             <param name="user" value="dbroot"/>
> >             <param name="password" value="dbpwd"/>
> >             <param name="driver" value="com.mysql.jdbc.Driver"/>
> >             <param name="schemaObjectPrefix" value="jcr_${wsp.name}_pm_"/> 
> >             <param name="externalBLOBs" value="false"/>
> >         </PersistenceManager>
> >         <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
> >             <param name="path" value="${wsp.home}/index"/>
> >             <param name="indexingConfiguration" value="index-config.xml"/>
> >             <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,org.apache.jackrabbit.extractor.HTMLTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
> >             <param name="extractorPoolSize" value="2"/>
> >             <param name="extractorTimeout" value="5000"/>
> >         </SearchIndex>
> >     </Workspace>
> >     <Versioning rootPath="${rep.home}/version">
> >         <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
> >             <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
> >             <param name="user" value="dbroot"/>
> >             <param name="password" value="dbpwd"/>
> >             <param name="driver" value="com.mysql.jdbc.Driver"/>
> >             <param name="schema" value="mysql"/>
> >             <param name="schemaObjectPrefix" value="jcr_version_fs_"/> 
> >         </FileSystem>
> >         <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
> >             <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
> >             <param name="user" value="dbroot"/>
> >             <param name="password" value="dbpwd"/>
> >             <param name="driver" value="com.mysql.jdbc.Driver"/>
> >             <param name="schemaObjectPrefix" value="jcr_version_pm_"/> 
> >             <param name="externalBLOBs" value="false"/>
> >         </PersistenceManager>
> >     </Versioning>
> > </Repository>
> > 
> > 
> > 
> >> Date: Mon, 7 Jun 2010 14:04:31 +0200
> >> Subject: Re: Problems Migrating Cluster Data
> >> From: thomas.mueller@day.com
> >> To: users@jackrabbit.apache.org
> >>
> >> Hi,
> >>
> >> I think the main problem is that each cluster node uses it's own
> >> persistence manager (database on localhost). See
> >> http://wiki.apache.org/jackrabbit/Clustering "That means all
> >> Jackrabbit cluster nodes need access to the SAME persistent storage
> >> (persistence manager and data store)." By the way, this is not the
> >> case for the file system: "However, each cluster node needs its own
> >> (private) FileSystem  and Search index."
> >>
> >> Regards,
> >> Thomas
> >  		 	   		  
> > _________________________________________________________________
> > The New Busy is not the old busy. Search, chat and e-mail from your inbox.
> > http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_3
> 
 		 	   		  
_________________________________________________________________
Hotmail has tools for the New Busy. Search, chat and e-mail from your inbox.
http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_1

Re: Problems Migrating Cluster Data

Posted by Justin Edelson <ju...@gmail.com>.
A few things jump out in the configuration below:
1) You aren't assigning a Cluster ID. This is required.
2) Each cluster node is sharing the same database for the FileSystem
implementations. This is wrong. Each cluster node needs a private
FileSystem (as Thomas said below).

You can find them on the wiki link Thomas sent below, but the clustering
prerequisties are worth repeating:
1) Each cluster node must have its own repository configuration.
2) Each cluster node needs its own (private) FileSystem and Search index.
3) Every cluster node must be assigned a unique ID.
4) A journal type must be chosen, either based on files or stored in a
database.
5) The persistence managers must store their data in the same, globally
accessible location (see PersistenceManagerFAQ).
6) A DataStore must always be shared between nodes, if used.

You seem to be OK on #4 and #5, but not #1, #2, and #3.

HTH,
Justin

On 6/8/10 1:07 PM, Juan Diego Botiva Leon wrote:
> 
> Hi,
> 
> In the repository.xml file I sent before, the database is at localhost because our test environment is a single node cluster, JBoss and MySQL run on the same machine. But yesterday I made a test in our production environment (2-node cluster, both using the same persistence manager): I changed the path of the repository folder to a new one and when I started JBoss, the index was regenerated but when I tried to access nodes created after moving to a cluster, they were never found, then I simply changed the path back to how it was and I was able to access the nodes again. So I think it has something to do with what is stored in the repository folder even if we have everything in MySQL except for the search index. What can I do in order to move data between environments with this setup. Below is our repository.xml production file, it is the same in both nodes. Thanks in advance.
> 
> Regards,
> Juan Diego Botiva
> 
> 
> <?xml version="1.0"?>
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.5//EN" "http://jackrabbit.apache.org/dtd/repository-1.5.dtd">
> <Repository>
>     <Cluster syncDelay="10000">
>         <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
>             <param name="revision" value="${rep.home}/revision.log" />
>             <param name="driver" value="com.mysql.jdbc.Driver" />
>             <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbutil?autoReconnect=true" />
>             <param name="user" value="dbroot"/>
>             <param name="password" value="dbpwd"/>
>         </Journal>
>     </Cluster>
>     <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>         <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
>         <param name="user" value="dbroot"/>
>         <param name="password" value="dbpwd"/>
>         <param name="driver" value="com.mysql.jdbc.Driver"/>
>         <param name="schema" value="mysql"/>
>         <param name="schemaObjectPrefix" value="jcr_repository_fs_"/> 
>     </FileSystem>
>     <Security appName="Jackrabbit">
>         <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager"/>
>         <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">
>            <param name="anonymousId" value="anonymous"/>
>            <param name="jruser" value="superuser"/>
>         </LoginModule>
>     </Security>
>     <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="MyWP"/>
>     <Workspace name="${wsp.name}">
>         <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>             <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
>             <param name="user" value="dbroot"/>
>             <param name="password" value="dbpwd"/>
>             <param name="driver" value="com.mysql.jdbc.Driver"/>
>             <param name="schema" value="mysql"/>
>             <param name="schemaObjectPrefix" value="jcr_${wsp.name}_fs_"/> 
>         </FileSystem>
>         <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
>             <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
>             <param name="user" value="dbroot"/>
>             <param name="password" value="dbpwd"/>
>             <param name="driver" value="com.mysql.jdbc.Driver"/>
>             <param name="schemaObjectPrefix" value="jcr_${wsp.name}_pm_"/> 
>             <param name="externalBLOBs" value="false"/>
>         </PersistenceManager>
>         <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>             <param name="path" value="${wsp.home}/index"/>
>             <param name="indexingConfiguration" value="index-config.xml"/>
>             <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,org.apache.jackrabbit.extractor.HTMLTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>             <param name="extractorPoolSize" value="2"/>
>             <param name="extractorTimeout" value="5000"/>
>         </SearchIndex>
>     </Workspace>
>     <Versioning rootPath="${rep.home}/version">
>         <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
>             <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
>             <param name="user" value="dbroot"/>
>             <param name="password" value="dbpwd"/>
>             <param name="driver" value="com.mysql.jdbc.Driver"/>
>             <param name="schema" value="mysql"/>
>             <param name="schemaObjectPrefix" value="jcr_version_fs_"/> 
>         </FileSystem>
>         <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
>             <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
>             <param name="user" value="dbroot"/>
>             <param name="password" value="dbpwd"/>
>             <param name="driver" value="com.mysql.jdbc.Driver"/>
>             <param name="schemaObjectPrefix" value="jcr_version_pm_"/> 
>             <param name="externalBLOBs" value="false"/>
>         </PersistenceManager>
>     </Versioning>
> </Repository>
> 
> 
> 
>> Date: Mon, 7 Jun 2010 14:04:31 +0200
>> Subject: Re: Problems Migrating Cluster Data
>> From: thomas.mueller@day.com
>> To: users@jackrabbit.apache.org
>>
>> Hi,
>>
>> I think the main problem is that each cluster node uses it's own
>> persistence manager (database on localhost). See
>> http://wiki.apache.org/jackrabbit/Clustering "That means all
>> Jackrabbit cluster nodes need access to the SAME persistent storage
>> (persistence manager and data store)." By the way, this is not the
>> case for the file system: "However, each cluster node needs its own
>> (private) FileSystem  and Search index."
>>
>> Regards,
>> Thomas
>  		 	   		  
> _________________________________________________________________
> The New Busy is not the old busy. Search, chat and e-mail from your inbox.
> http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_3


RE: Problems Migrating Cluster Data

Posted by Juan Diego Botiva Leon <ju...@hotmail.com>.
Hi,

In the repository.xml file I sent before, the database is at localhost because our test environment is a single node cluster, JBoss and MySQL run on the same machine. But yesterday I made a test in our production environment (2-node cluster, both using the same persistence manager): I changed the path of the repository folder to a new one and when I started JBoss, the index was regenerated but when I tried to access nodes created after moving to a cluster, they were never found, then I simply changed the path back to how it was and I was able to access the nodes again. So I think it has something to do with what is stored in the repository folder even if we have everything in MySQL except for the search index. What can I do in order to move data between environments with this setup. Below is our repository.xml production file, it is the same in both nodes. Thanks in advance.

Regards,
Juan Diego Botiva


<?xml version="1.0"?>
<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.5//EN" "http://jackrabbit.apache.org/dtd/repository-1.5.dtd">
<Repository>
    <Cluster syncDelay="10000">
        <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
            <param name="revision" value="${rep.home}/revision.log" />
            <param name="driver" value="com.mysql.jdbc.Driver" />
            <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbutil?autoReconnect=true" />
            <param name="user" value="dbroot"/>
            <param name="password" value="dbpwd"/>
        </Journal>
    </Cluster>
    <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
        <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
        <param name="user" value="dbroot"/>
        <param name="password" value="dbpwd"/>
        <param name="driver" value="com.mysql.jdbc.Driver"/>
        <param name="schema" value="mysql"/>
        <param name="schemaObjectPrefix" value="jcr_repository_fs_"/> 
    </FileSystem>
    <Security appName="Jackrabbit">
        <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager"/>
        <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">
           <param name="anonymousId" value="anonymous"/>
           <param name="jruser" value="superuser"/>
        </LoginModule>
    </Security>
    <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="MyWP"/>
    <Workspace name="${wsp.name}">
        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
            <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
            <param name="user" value="dbroot"/>
            <param name="password" value="dbpwd"/>
            <param name="driver" value="com.mysql.jdbc.Driver"/>
            <param name="schema" value="mysql"/>
            <param name="schemaObjectPrefix" value="jcr_${wsp.name}_fs_"/> 
        </FileSystem>
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
            <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
            <param name="user" value="dbroot"/>
            <param name="password" value="dbpwd"/>
            <param name="driver" value="com.mysql.jdbc.Driver"/>
            <param name="schemaObjectPrefix" value="jcr_${wsp.name}_pm_"/> 
            <param name="externalBLOBs" value="false"/>
        </PersistenceManager>
        <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
            <param name="path" value="${wsp.home}/index"/>
            <param name="indexingConfiguration" value="index-config.xml"/>
            <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,org.apache.jackrabbit.extractor.HTMLTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
            <param name="extractorPoolSize" value="2"/>
            <param name="extractorTimeout" value="5000"/>
        </SearchIndex>
    </Workspace>
    <Versioning rootPath="${rep.home}/version">
        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
            <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
            <param name="user" value="dbroot"/>
            <param name="password" value="dbpwd"/>
            <param name="driver" value="com.mysql.jdbc.Driver"/>
            <param name="schema" value="mysql"/>
            <param name="schemaObjectPrefix" value="jcr_version_fs_"/> 
        </FileSystem>
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
            <param name="url" value="jdbc:mysql://192.168.1.144:3306/dbrep?autoReconnect=true"/>
            <param name="user" value="dbroot"/>
            <param name="password" value="dbpwd"/>
            <param name="driver" value="com.mysql.jdbc.Driver"/>
            <param name="schemaObjectPrefix" value="jcr_version_pm_"/> 
            <param name="externalBLOBs" value="false"/>
        </PersistenceManager>
    </Versioning>
</Repository>



> Date: Mon, 7 Jun 2010 14:04:31 +0200
> Subject: Re: Problems Migrating Cluster Data
> From: thomas.mueller@day.com
> To: users@jackrabbit.apache.org
> 
> Hi,
> 
> I think the main problem is that each cluster node uses it's own
> persistence manager (database on localhost). See
> http://wiki.apache.org/jackrabbit/Clustering "That means all
> Jackrabbit cluster nodes need access to the SAME persistent storage
> (persistence manager and data store)." By the way, this is not the
> case for the file system: "However, each cluster node needs its own
> (private) FileSystem  and Search index."
> 
> Regards,
> Thomas
 		 	   		  
_________________________________________________________________
The New Busy is not the old busy. Search, chat and e-mail from your inbox.
http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_3