Hi, I'm having a problem with a clustered jackrabbit setup, using version 1.6.2 on multiple Tomcats.
The Tomcats are using the same repository.xml (see below) and are all started with -Dorg.apache.jackrabbit.core.cluster.node_id=`hostname -s`. I can confirm that every Tomcat is using a distinct node_id. Now to the problem: Sometimes (not in all cases) when an item is created on one tomcat, that item is not visible on all other tomcats. There is often just one tomcat that is unaware of the newly created item. I guess that there is something wrong with the config. As a sidenote: We recently upgraded from 1.5 to 1.6.2. I checked the Wiki (http://wiki.apache.org/jackrabbit/Clustering) and stumbled over the following bullet point under Requirements: Each cluster node needs its own (private) workspace level and version > FileSystem (only those within the workspace and versioning configuration; > the ones in the repository.xml and workspace.xml file). > Does it mean that the stuff under <Versioning> must not reside in the DB? I also attached an example workspace.xml (which is the same on all Tomcats). Any Hints? Best Regards, Etile --repository.xml START (w/o comments)-- <?xml version="1.0"?> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.2//EN" " http://jackrabbit.apache.org/dtd/repository-1.2.dtd"> <Repository> <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> <param name="path" value="${rep.home}/repository"/> </FileSystem> <Security appName="Jackrabbit"> <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager"> </AccessManager> <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule"> <param name="anonymousId" value="anonymous"/> </LoginModule> </Security> <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/> <Workspace name="${wsp.name}"> <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem"> <param name="driver" value="org.postgresql.Driver" /> <param name="url" value="${jackrabbit.repository.url}" /> <param name="user" value="${jackrabbit.repository.user}" /> <param name="password" value="${jackrabbit.repository.password}" /> <param name="schema" value="postgresql"/> <param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/> </FileSystem> <PersistenceManager class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager"> <param name="driver" value="org.postgresql.Driver" /> <param name="url" value="${jackrabbit.repository.url}" /> <param name="user" value="${jackrabbit.repository.user}" /> <param name="password" value="${jackrabbit.repository.password}" /> <param name="schema" value="postgresql"/> <param name="schemaObjectPrefix" value="J_PM_${wsp.name}_" /> <param name="externalBLOBs" value="false" /> </PersistenceManager> <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> <param name="path" value="${wsp.home}/index"/> </SearchIndex> </Workspace> <Versioning rootPath="${rep.home}/version"> <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem"> <param name="driver" value="org.postgresql.Driver" /> <param name="url" value="${jackrabbit.repository.url}" /> <param name="user" value="${jackrabbit.repository.user}" /> <param name="password" value="${jackrabbit.repository.password}" /> <param name="schema" value="postgresql"/> <param name="schemaObjectPrefix" value="J_V_PM_" /> <param name="schemaObjectPrefix" value="J_V_FS_"/> </FileSystem> <PersistenceManager class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager"> <param name="driver" value="org.postgresql.Driver" /> <param name="url" value="${jackrabbit.repository.url}" /> <param name="user" value="${jackrabbit.repository.user}" /> <param name="password" value="${jackrabbit.repository.password}" /> <param name="schema" value="postgresql"/> <param name="schemaObjectPrefix" value="J_V_PM_" /> <param name="externalBLOBs" value="false" /> </PersistenceManager> </Versioning> <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> <param name="path" value="${rep.home}/repository/index"/> </SearchIndex> </Repository> --repository.xml END-- --workspace.xml START (w/o comments)-- <?xml version="1.0" encoding="UTF-8"?> <Workspace name="default"> <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem"> <param name="driver" value="org.postgresql.Driver"/> <param name="url" value="jdbc:postgresql:// database.example.com/elitecms?charSet=UTF-8"/> <param name="user" value="user"/> <param name="password" value="pass"/> <param name="schema" value="postgresql"/> <param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/> </FileSystem> <PersistenceManager class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager"> <param name="driver" value="org.postgresql.Driver"/> <param name="url" value="jdbc:postgresql:// database.example.com/cms?charSet=UTF-8"/> <param name="user" value="user"/> <param name="password" value="pass"/> <param name="schema" value="postgresql"/> <param name="schemaObjectPrefix" value="J_PM_${wsp.name}_"/> <param name="externalBLOBs" value="false"/> </PersistenceManager> <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> <param name="path" value="${wsp.home}/index"/> </SearchIndex> </Workspace> --workspace.xml END--
