Hi Rocco,
I noticed that the JDBC URLs on both machine 1 and machine 2 contain
"localhost" as host information which probably denotes separate MySQL
database servers running on machine 1 and machine 2, respectively.
Please note, that clustering requires a "shared" database, i.e. both
cluster instances should connect to the *same* database server. The
informational message, indicating that the content is not available on
machine 2, hints at the same problem.
Kind regards
Dominique
On 5/19/08, Rocco Russo <[EMAIL PROTECTED]> wrote:
> Hi all,
>
> I set up a cluster configuration (2 tomcats on 2 different machines) with a
> SHARED repository on MySQL db.
>
>
>
> My environment is:
>
>
>
> on Machine 1
>
>
>
> jdk: 1.5.0_14
>
> server1: tomcat 5.5.26
>
> app: jackrabbit-webapp-1.4
>
> repository.xml in cluster configuration :
>
>
>
> <Cluster id="node_1">
>
> <Journal
> class="org.apache.jackrabbit.core.journal.DatabaseJournal">
>
> <!-local revision file -->
>
> <param name="revision" value="${rep.home}/revision"/>
>
> <param name="driver"
> value="com.mysql.jdbc.Driver"/>
>
> <param name="url"
> value="jdbc:mysql://localhost:3306/jcr_repo?useUnicode=true&characterEnc
> oding=UTF-8" />
>
> <param name="user" value="root" />
>
> <param name="password" value="root" />
>
> <param name="schema" value="mysql"/>
>
> <param name="schemaObjectPrefix"
> value="J_C_"/>
>
> </Journal>
>
> </Cluster>
>
>
>
>
>
> on Machine 2
>
>
>
> jdk: 1.5.0_14
>
> server2: tomcat 5.5.26
>
> app: jackrabbit-webapp-1.4
>
> repository.xml in cluster configuration :
>
>
>
> <Cluster id="node_2" >
>
> <Journal
> class="org.apache.jackrabbit.core.journal.DatabaseJournal">
>
> <!-local revision file -->
>
> <param name="revision" value="${rep.home}/revision"/>
>
> <param name="driver"
> value="com.mysql.jdbc.Driver"/>
>
> <param name="url"
> value="jdbc:mysql://localhost:3306/jcr_repo?useUnicode=true&characterEnc
> oding=UTF-8" />
>
> <param name="user" value="root" />
>
> <param name="password" value="root" />
>
> <param name="schema" value="mysql"/>
>
> <param name="schemaObjectPrefix"
> value="J_C_"/>
>
> </Journal>
>
> </Cluster>
>
>
>
> When I start Tomcat 1 and Tomcat 2 for the first time I can see all nodes
> stored in the shared repository browsing from the server 1 ad also from the
> server 2.
>
> If I upload a file from server 1, I can see the new file only from the
> server 1, but I cannot see the new file browsing server 2.
>
>
>
> In the logs I can see this situation during file upload:
>
>
>
> 1) The Server 1 appends revision correctly:
>
> 19.05.2008 12:15:03 *INFO * ClusterNode: Appended revision: 1
> (ClusterNode.java, line 616)
>
>
>
> 2) A row in the journal table is added
>
>
>
> 3) The Server 2 synchronizes the appended revision
>
> 19.05.2008 12:14:58 *INFO * ClusterNode: Processing revision: 1
> (ClusterNode.java, line 963)
>
> 19.05.2008 12:14:58 *INFO * SearchManager: Node no longer available
> 98a6e6ba-0965-4bd5-a531-ed8e302cf6f4, skipped. (SearchManager.java, line
> 467)
>
> 19.05.2008 12:14:58 *INFO * SearchManager: Node no longer available
> ae22c5ac-ba10-469c-a9ed-48fd4866fd4e, skipped. (SearchManager.java, line
> 467)
>
> 19.05.2008 12:14:58 *INFO * AbstractJournal: Synchronized to revision: 1
> (AbstractJournal.java, line 213)
>
>
>
> But the result is that if I browse the node tree form server 2 I cannot see
> the new uploaded file.
>
> I have noticed that during synchronization there are these log info:
>
> 19.05.2008 12:14:58 *INFO * SearchManager: Node no longer available
> 98a6e6ba-0965-4bd5-a531-ed8e302cf6f4, skipped. (SearchManager.java, line
> 467)
>
> 19.05.2008 12:14:58 *INFO * SearchManager: Node no longer available
> ae22c5ac-ba10-469c-a9ed-48fd4866fd4e, skipped. (SearchManager.java, line
> 467)
>
> Is it a problem when these logs appear? What do these logs mean? Am I doing
> something wrong in the configuration of cluster? Have I missed something?
>
>
>
> Any suggestion is appreciated.
>
> Thanks in advanced
>
>
>
>
>
>
>
>
>
>