Hi,

it's been several months since my last (unsuccessful) attempt at Jackrabbit 
clustering. Now that I finally have time to get back to the issue, I'm still 
not successful. I set up a fresh new repository on server A, with the file 
system, persistence managers and journal all stored in a local MySQL database. 
I made sure the database URLs in the repository.xml uses the server's internal 
network IP so that the URLs should still be valid when I copy repository.xml to 
a new node.

I then copied the repository to server B and changed the cluster ID in the 
copied repository.xml, then added the node entry to the database (as described 
in the wiki).

Now that both servers are running, I see that changes on one system increase 
that system's revision counter in the database and also triggers the 
corresponding update on the other server (I can see the entry in the log file, 
and the second server's revision counter is updated to match the first one). So 
that part seems right.

Yet when I access either repository via WebDAV, they seem completely 
independent. All changes made on server A only show up on server A, and changes 
on B only show up on B. I can create resources with the same name and different 
content on both systems, and both systems will return their own content. When I 
repeat the procedure to set up the second cluster node (delete the old 
repository directory on B, copy over the one from A, change repository.xml to 
set B's cluster ID), B will again show exactly the content it had before, 
without any of the data from A.

It seems both servers manage to store their directory structures in the same 
database tables independently and read them again without conflicts. As far as 
I can tell, I followed the wiki guide correctly, so I can't figure out what's 
causing this behaviour.

And hints are appreciated. I'm attaching repository.xml from server A. On B, 
the file's content is the same, except for the cluster ID which is changed to 
"10.10.12.56". (The security section references several custom classes, so 
don't try this at home)

Thanks,
Marian.


DI Marian Schedenig
Senior Developer

Qualysoft GmbH | Saturn Tower, Leonard-Bernstein-Straße 10, A-1220 Wien | 
Fimenbuchnummer 186076t, Handelsgericht Wien
P:  +43 1 409 59 87-26 | F:  +43 1 409 59 87-11 | Mail: 
[email protected]<mailto:[email protected]> | Web: 
www.qualysoft.at<http://www.qualysoft.at/>



[Description: Description: Description: Description: 
cid:[email protected]]
Austria - Germany - Hungary - Romania - Serbia - Slovakia - Ukraine

P Please consider the environment before printing this email

<<inline: image001.png>>

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Repository>
	<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
		<param name="driver" value="com.mysql.jdbc.Driver"/>
		<param name="url" value="jdbc:mysql://10.10.12.55:3306/jackrabbit"/>
		<param name="user" value="admin"/>
		<param name="password" value="admin"/>
		<param name="schema" value="mysql"/>
		<param name="schemaObjectPrefix" value="rep_"/>
	</FileSystem>

	<Security appName="Jackrabbit">
		<AccessManager class="org.apache.jackrabbit.core.security.DefaultAccessManager">
		</AccessManager>

		<SecurityManager class="com.infinica.contentrepository.InfinicaSecurityManager"/>

		<LoginModule class="com.infinica.contentrepository.InfinicaLoginModule">
			<param name="adminId" value="Infinicaadmins"/>
			<param name="cacheTimeout" value="50000"/>
			<param name="principalProvider"
             value="com.infinica.contentrepository.InfinicaPrincipalProvider"/>
			<param name="authenticate" value="true"/>
		</LoginModule>
	</Security>

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

	<Workspace name="${wsp.name}">
		<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
			<param name="path" value="${wsp.home}"/>
		</FileSystem>

		<PersistenceManager class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">
			<param name="driver" value="com.mysql.jdbc.Driver"/>
			<param name="url" value="jdbc:mysql://10.10.12.55:3306/jackrabbit"/>
			<param name="user" value="admin"/>
			<param name="password" value="admin"/>
			<param name="schema" value="mysql"/>
			<param name="schemaObjectPrefix" value="${wsp.name}_"/>
			<param name="externalBLOBs" value="false"/>
		</PersistenceManager>

		<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
			<param name="path" value="${wsp.home}/index"/>
			<param name="textFilterClasses"
             value="org.apache.jackrabbit.extractor.PlainTextExtractor,org.apache.jackrabbit.extractor.MsWordTextExtractor,org.apache.jackrabbit.extractor.MsExcelTextExtractor,org.apache.jackrabbit.extractor.MsPowerPointTextExtractor,org.apache.jackrabbit.extractor.PdfTextExtractor,org.apache.jackrabbit.extractor.OpenOfficeTextExtractor,org.apache.jackrabbit.extractor.RTFTextExtractor,org.apache.jackrabbit.extractor.HTMLTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
			<param name="extractorPoolSize" value="2"/>
			<param name="supportHighlighting" value="true"/>
		</SearchIndex>

		<WorkspaceSecurity>
			<AccessControlProvider class="com.infinica.contentrepository.InfinicaACLProvider"/>
		</WorkspaceSecurity> 
	</Workspace>

	<Versioning rootPath="${rep.home}/version">
		<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
			<param name="path" value="${rep.home}/version"/>
		</FileSystem>

		<PersistenceManager class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">
			<param name="driver" value="com.mysql.jdbc.Driver"/>
			<param name="url" value="jdbc:mysql://10.10.12.55:3306/jackrabbit"/>
			<param name="user" value="admin"/>
			<param name="password" value="admin"/>
			<param name="schema" value="mysql"/>
			<param name="schemaObjectPrefix" value="version_"/>
			<param name="externalBLOBs" value="false"/>
		</PersistenceManager>
	</Versioning>

	<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.PlainTextExtractor,org.apache.jackrabbit.extractor.MsWordTextExtractor,org.apache.jackrabbit.extractor.MsExcelTextExtractor,org.apache.jackrabbit.extractor.MsPowerPointTextExtractor,org.apache.jackrabbit.extractor.PdfTextExtractor,org.apache.jackrabbit.extractor.OpenOfficeTextExtractor,org.apache.jackrabbit.extractor.RTFTextExtractor,org.apache.jackrabbit.extractor.HTMLTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
		<param name="extractorPoolSize" value="2"/>
		<param name="supportHighlighting" value="true"/>
	</SearchIndex>

	<Cluster id="10.10.12.55" syncDelay="2000">
		<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://10.10.12.55:3306/jackrabbit"/>
			<param name="user" value="admin"/>
			<param name="password" value="admin"/>
			<param name="schema" value="mysql"/>
			<param name="schemaObjectPrefix" value="cluster_"/>
		</Journal>
	</Cluster>
</Repository>

Reply via email to