Open Source Support Tools
 
Search Item
 
Summary
  Mail Thread
Title: Problems with clustering
Project: jackrabbit
Item Last Modified: Mon Aug 25 01:51:08 PDT 2008
Tags:  
 
 
MailThread add alex alexander alexander.klimetschek@day.com apache apache-clustering apache-directory apache-jackrabbit apache-repository apache-tomcat app applicationfilterchain appname blob cluster clustering com configuration configured coyoteadapter ctrl database defaulthandler errorreportvalve exception exist expect externalblobs false folder getinstance getproperty hope http11 http11processor http11protocol httpservlet instance instances jackrabbit john+vilkovich klimetschek lang line mysql nodeimpl order org problems property repository repository.xml resource restart rootpath serializer servlet standardcontextvalve standardenginevalve standardhostvalve standardwrappervalve store util webapp webdav xml
Details
Problems with clustering
3 Messages Collapse AllExpand All
Alexander Klimetschek to users22 Aug 2008 19:12:55 GMT
When using clustering, you cannot use externalBLOBs == true. See
http://wiki.apache.org/jackrabbit/Clustering:

"Since the file system BLOB store uses a repository local directory
and is not transactional, one should set the parameter externalBLOBs
to false in order to store BLOBs in the database as well."

Regards,
Alex

On Fri, Aug 22, 2008 at 11:19 AM, John Vilkovich
<myfakeemail007@gmail.com> wrote:
> Hi,
> I have problems with running 2 jackrabbit instances in cluster. Hope you
> could help.
>
> I have 2 copies of tomcat, configured to run on different ports, with
> jackrabbit app within each.
> I use jackrabbit webapp 1.4.
>
> repository.xml is the next
>
> ****************************************************************************************************
> <?xml version="1.0"?>
> <Repository>
> <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
> <param name="driver" value="com.mysql.jdbc.Driver"/>
> <param name="url"
> value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
> <param name="user" value="root" />
> <param name="password" value="" />
> <param name="schema" value="mysql"/>
> <param name="schemaObjectPrefix" value="J_R_FS_"/>
> </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="Install submodules">
> <PersistenceManager
> class="org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager">
> <param name="driver" value="com.mysql.jdbc.Driver" />
> <param name="url"
> value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
> <param name="schema" value="mysql" />
> <param name="user" value="root" />
> <param name="password" value="" />
> <param name="schemaObjectPrefix" value="J_FS_"/>
> <param name="externalBLOBs" value="true" />
> </PersistenceManager>
>
> <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
> <param name="driver" value="com.mysql.jdbc.Driver"/>
> <param name="url"
> value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
> <param name="user" value="root" />
> <param name="password" value="" />
> <param name="schema" value="mysql"/>
> <param name="schemaObjectPrefix" value="J_FS_"/>
> </FileSystem>
> <SearchIndex
> class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
> <param name="path" value="${wsp.home}/index"/>
> </SearchIndex>
> </Workspace>
>
> <Versioning rootPath="${rep.home}/version">
> <PersistenceManager
> class="org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager">
> <param name="driver" value="com.mysql.jdbc.Driver" />
> <param name="url"
> value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
> <param name="schema" value="mysql" />
> <param name="user" value="root" />
> <param name="password" value="" />
> <param name="schemaObjectPrefix" value="J_V_FS_"/>
> <param name="externalBLOBs" value="true" />
> </PersistenceManager>
>
> <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
> <param name="driver" value="com.mysql.jdbc.Driver"/>
> <param name="url"
> value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
> <param name="user" value="root" />
> <param name="password" value="" />
> <param name="schema" value="mysql"/>
> <param name="schemaObjectPrefix" value="J_V_FS_"/>
> </FileSystem>
> </Versioning>
>
> <SearchIndex
> class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
> <param name="path" value="${rep.home}/repository/index"/>
> </SearchIndex>
>
> <Cluster id="node_1" syncDelay="5">
> <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
> <param name="revision" value="${rep.home}/revision"/>
> <param name="driver" value="com.mysql.jdbc.Driver"/>
> <param name="url"
> value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
> <param name="user" value="root" />
> <param name="password" value="" />
> <param name="schema" value="mysql"/>
> <param name="schemaObjectPrefix" value="J_C_"/>
> </Journal>
> </Cluster>
>
> </Repository>
> ****************************************************************************************************
>
> Configuration for the second instance is the same, only cluster id is
> "node_2".
>
> Tomcats starts without errors. Then I add a file to the first instance using
> WebDAV (http://localhost:8080/jackrabbit/repository/default/),
> and expect to see the same file in the WebDAV folder of another instance (
> http://localhost:8081/jackrabbit/repository/default/). But it doesn't
> appear. Actually it appears, but only after restart of the tomcat. Moreover,
> when I hit ctrl-R in the webdav folder of the secod instance, i recieve next
> exception in the log:
>
> 22.08.2008 11:51:52 *ERROR* DatabasePersistenceManager: failed to read
> property state: cb280451-187c-4d20-89e1-c9e650f79
> 1d2/{http://www.jcp.org/jcr/1.0}data
> <http://www.jcp.org/jcr/1.0%7Ddata>(DatabasePersistenceManager.java,
> line 405)
> java.io.IOException: /cb/28/0451187c4d2089e1c9e650f791d2/%7bhttp%3a%2f%
> 2fwww.jcp.org%2fjcr%2f1.0%7ddata.0.bin: the speci
> fied resource does not exist
> at
> org.apache.jackrabbit.core.value.BLOBInResource.<init>(BLOBInResource.java:63)
> at
> org.apache.jackrabbit.core.value.BLOBInResource.getInstance(BLOBInResource.java:80)
> at
> org.apache.jackrabbit.core.value.InternalValue.create(InternalValue.java:281)
> at
> org.apache.jackrabbit.core.persistence.util.Serializer.deserialize(Serializer.java:292)
> at
> org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.load(DatabasePersistenceManager.java:397
> )
> at
> org.apache.jackrabbit.core.state.SharedItemStateManager.loadItemState(SharedItemStateManager.java:1177)
> at
> org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:11
> 02)
> at
> org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:249)
> at
> org.apache.jackrabbit.core.state.LocalItemStateManager.getPropertyState(LocalItemStateManager.java:118)
> at
> org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:160)
> at
> org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:243)
> at
> org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:186)
> at
> org.apache.jackrabbit.core.ItemManager.createItemInstance(ItemManager.java:564)
> at
> org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:395)
> at
> org.apache.jackrabbit.core.NodeImpl.getProperty(NodeImpl.java:2548)
> at
> org.apache.jackrabbit.server.io.DefaultHandler.exportProperties(DefaultHandler.java:435)
> at
> org.apache.jackrabbit.server.io.DefaultHandler.exportProperties(DefaultHandler.java:535)
> at
> org.apache.jackrabbit.server.io.PropertyManagerImpl.exportProperties(PropertyManagerImpl.java:59)
> at
> org.apache.jackrabbit.webdav.simple.DavResourceImpl.initProperties(DavResourceImpl.java:326)
> at
> org.apache.jackrabbit.webdav.simple.DeltaVResourceImpl.initProperties(DeltaVResourceImpl.java:249)
> at
> org.apache.jackrabbit.webdav.simple.VersionControlledResourceImpl.initProperties(VersionControlledResourceImp
> l.java:320)
> at
> org.apache.jackrabbit.webdav.simple.DavResourceImpl.getProperties(DavResourceImpl.java:306)
> at
> org.apache.jackrabbit.webdav.MultiStatusResponse.<init>(MultiStatusResponse.java:180)
> at
> org.apache.jackrabbit.webdav.MultiStatus.addResourceProperties(MultiStatus.java:62)
> at
> org.apache.jackrabbit.webdav.MultiStatus.addResourceProperties(MultiStatus.java:66)
> at
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.doPropFind(AbstractWebdavServlet.java:434)
> at
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.execute(AbstractWebdavServlet.java:231)
> at
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:192)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:619)
>
>
> Any ideas, recomendations?
> Thank you.
> John.
>



--
Alexander Klimetschek
alexander.klimetschek@day.com



John Vilkovich to users25 Aug 2008 08:51:08 GMT
Thanks. That was the problem.

On Fri, Aug 22, 2008 at 10:12 PM, Alexander Klimetschek <aklimets@day.com>wrote:

> When using clustering, you cannot use externalBLOBs == true. See
> http://wiki.apache.org/jackrabbit/Clustering:
>
> "Since the file system BLOB store uses a repository local directory
> and is not transactional, one should set the parameter externalBLOBs
> to false in order to store BLOBs in the database as well."
>
> Regards,
> Alex
>
> On Fri, Aug 22, 2008 at 11:19 AM, John Vilkovich
> <myfakeemail007@gmail.com> wrote:
> > Hi,
> > I have problems with running 2 jackrabbit instances in cluster. Hope you
> > could help.
> >
> > I have 2 copies of tomcat, configured to run on different ports, with
> > jackrabbit app within each.
> > I use jackrabbit webapp 1.4.
> >
> > repository.xml is the next
> >
> >
> ****************************************************************************************************
> > <?xml version="1.0"?>
> > <Repository>
> > <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
> > <param name="driver" value="com.mysql.jdbc.Driver"/>
> > <param name="url"
> >
> value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
> > <param name="user" value="root" />
> > <param name="password" value="" />
> > <param name="schema" value="mysql"/>
> > <param name="schemaObjectPrefix" value="J_R_FS_"/>
> > </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="Install submodules">
> > <PersistenceManager
> >
> class="org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager">
> > <param name="driver" value="com.mysql.jdbc.Driver" />
> > <param name="url"
> >
> value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
> > <param name="schema" value="mysql" />
> > <param name="user" value="root" />
> > <param name="password" value="" />
> > <param name="schemaObjectPrefix" value="J_FS_"/>
> > <param name="externalBLOBs" value="true" />
> > </PersistenceManager>
> >
> > <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
> > <param name="driver" value="com.mysql.jdbc.Driver"/>
> > <param name="url"
> >
> value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
> > <param name="user" value="root" />
> > <param name="password" value="" />
> > <param name="schema" value="mysql"/>
> > <param name="schemaObjectPrefix" value="J_FS_"/>
> > </FileSystem>
> > <SearchIndex
> > class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
> > <param name="path" value="${wsp.home}/index"/>
> > </SearchIndex>
> > </Workspace>
> >
> > <Versioning rootPath="${rep.home}/version">
> > <PersistenceManager
> >
> class="org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager">
> > <param name="driver" value="com.mysql.jdbc.Driver" />
> > <param name="url"
> >
> value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
> > <param name="schema" value="mysql" />
> > <param name="user" value="root" />
> > <param name="password" value="" />
> > <param name="schemaObjectPrefix" value="J_V_FS_"/>
> > <param name="externalBLOBs" value="true" />
> > </PersistenceManager>
> >
> > <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
> > <param name="driver" value="com.mysql.jdbc.Driver"/>
> > <param name="url"
> >
> value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
> > <param name="user" value="root" />
> > <param name="password" value="" />
> > <param name="schema" value="mysql"/>
> > <param name="schemaObjectPrefix" value="J_V_FS_"/>
> > </FileSystem>
> > </Versioning>
> >
> > <SearchIndex
> > class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
> > <param name="path" value="${rep.home}/repository/index"/>
> > </SearchIndex>
> >
> > <Cluster id="node_1" syncDelay="5">
> > <Journal
> class="org.apache.jackrabbit.core.journal.DatabaseJournal">
> > <param name="revision" value="${rep.home}/revision"/>
> > <param name="driver" value="com.mysql.jdbc.Driver"/>
> > <param name="url"
> >
> value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
> > <param name="user" value="root" />
> > <param name="password" value="" />
> > <param name="schema" value="mysql"/>
> > <param name="schemaObjectPrefix" value="J_C_"/>
> > </Journal>
> > </Cluster>
> >
> > </Repository>
> >
> ****************************************************************************************************
> >
> > Configuration for the second instance is the same, only cluster id is
> > "node_2".
> >
> > Tomcats starts without errors. Then I add a file to the first instance
> using
> > WebDAV (http://localhost:8080/jackrabbit/repository/default/),
> > and expect to see the same file in the WebDAV folder of another instance
> (
> > http://localhost:8081/jackrabbit/repository/default/). But it doesn't
> > appear. Actually it appears, but only after restart of the tomcat.
> Moreover,
> > when I hit ctrl-R in the webdav folder of the secod instance, i recieve
> next
> > exception in the log:
> >
> > 22.08.2008 11:51:52 *ERROR* DatabasePersistenceManager: failed to read
> > property state: cb280451-187c-4d20-89e1-c9e650f79
> > 1d2/{http://www.jcp.org/jcr/1.0}data <http://www.jcp.org/jcr/1.0%7Ddata>
> > <http://www.jcp.org/jcr/1.0%7Ddata>(DatabasePersistenceManager.java,
> > line 405)
> > java.io.IOException: /cb/28/0451187c4d2089e1c9e650f791d2/%7bhttp%3a%2f%
> > 2fwww.jcp.org%2fjcr%2f1.0%7ddata.0.bin: the speci
> > fied resource does not exist
> > at
> >
> org.apache.jackrabbit.core.value.BLOBInResource.<init>(BLOBInResource.java:63)
> > at
> >
> org.apache.jackrabbit.core.value.BLOBInResource.getInstance(BLOBInResource.java:80)
> > at
> >
> org.apache.jackrabbit.core.value.InternalValue.create(InternalValue.java:281)
> > at
> >
> org.apache.jackrabbit.core.persistence.util.Serializer.deserialize(Serializer.java:292)
> > at
> >
> org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.load(DatabasePersistenceManager.java:397
> > )
> > at
> >
> org.apache.jackrabbit.core.state.SharedItemStateManager.loadItemState(SharedItemStateManager.java:1177)
> > at
> >
> org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:11
> > 02)
> > at
> >
> org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:249)
> > at
> >
> org.apache.jackrabbit.core.state.LocalItemStateManager.getPropertyState(LocalItemStateManager.java:118)
> > at
> >
> org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:160)
> > at
> >
> org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:243)
> > at
> >
> org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:186)
> > at
> >
> org.apache.jackrabbit.core.ItemManager.createItemInstance(ItemManager.java:564)
> > at
> > org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:395)
> > at
> > org.apache.jackrabbit.core.NodeImpl.getProperty(NodeImpl.java:2548)
> > at
> >
> org.apache.jackrabbit.server.io.DefaultHandler.exportProperties(DefaultHandler.java:435)
> > at
> >
> org.apache.jackrabbit.server.io.DefaultHandler.exportProperties(DefaultHandler.java:535)
> > at
> >
> org.apache.jackrabbit.server.io.PropertyManagerImpl.exportProperties(PropertyManagerImpl.java:59)
> > at
> >
> org.apache.jackrabbit.webdav.simple.DavResourceImpl.initProperties(DavResourceImpl.java:326)
> > at
> >
> org.apache.jackrabbit.webdav.simple.DeltaVResourceImpl.initProperties(DeltaVResourceImpl.java:249)
> > at
> >
> org.apache.jackrabbit.webdav.simple.VersionControlledResourceImpl.initProperties(VersionControlledResourceImp
> > l.java:320)
> > at
> >
> org.apache.jackrabbit.webdav.simple.DavResourceImpl.getProperties(DavResourceImpl.java:306)
> > at
> >
> org.apache.jackrabbit.webdav.MultiStatusResponse.<init>(MultiStatusResponse.java:180)
> > at
> >
> org.apache.jackrabbit.webdav.MultiStatus.addResourceProperties(MultiStatus.java:62)
> > at
> >
> org.apache.jackrabbit.webdav.MultiStatus.addResourceProperties(MultiStatus.java:66)
> > at
> >
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.doPropFind(AbstractWebdavServlet.java:434)
> > at
> >
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.execute(AbstractWebdavServlet.java:231)
> > at
> >
> org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:192)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> > at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> > at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> > at
> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
> > at
> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> > at
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> > at
> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
> > at
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> > at
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
> > at
> >
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> > at
> >
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
> > at
> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> > at java.lang.Thread.run(Thread.java:619)
> >
> >
> > Any ideas, recomendations?
> > Thank you.
> > John.
> >
>
>
>
> --
> Alexander Klimetschek
> alexander.klimetschek@day.com
>
John Vilkovich to users22 Aug 2008 09:19:02 GMT
Hi,
I have problems with running 2 jackrabbit instances in cluster. Hope you
could help.

I have 2 copies of tomcat, configured to run on different ports, with
jackrabbit app within each.
I use jackrabbit webapp 1.4.

repository.xml is the next

****************************************************************************************************
<?xml version="1.0"?>
<Repository>
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url"
value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
<param name="user" value="root" />
<param name="password" value="" />
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="J_R_FS_"/>
</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="Install submodules">
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager">
<param name="driver" value="com.mysql.jdbc.Driver" />
<param name="url"
value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
<param name="schema" value="mysql" />
<param name="user" value="root" />
<param name="password" value="" />
<param name="schemaObjectPrefix" value="J_FS_"/>
<param name="externalBLOBs" value="true" />
</PersistenceManager>

<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url"
value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
<param name="user" value="root" />
<param name="password" value="" />
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="J_FS_"/>
</FileSystem>
<SearchIndex
class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${wsp.home}/index"/>
</SearchIndex>
</Workspace>

<Versioning rootPath="${rep.home}/version">
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager">
<param name="driver" value="com.mysql.jdbc.Driver" />
<param name="url"
value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
<param name="schema" value="mysql" />
<param name="user" value="root" />
<param name="password" value="" />
<param name="schemaObjectPrefix" value="J_V_FS_"/>
<param name="externalBLOBs" value="true" />
</PersistenceManager>

<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url"
value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
<param name="user" value="root" />
<param name="password" value="" />
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="J_V_FS_"/>
</FileSystem>
</Versioning>

<SearchIndex
class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${rep.home}/repository/index"/>
</SearchIndex>

<Cluster id="node_1" syncDelay="5">
<Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
<param name="revision" value="${rep.home}/revision"/>
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url"
value="jdbc:mysql://localhost:3306/jack?useUnicode=true&amp;characterEncoding=UTF-8"/>
<param name="user" value="root" />
<param name="password" value="" />
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="J_C_"/>
</Journal>
</Cluster>

</Repository>
****************************************************************************************************

Configuration for the second instance is the same, only cluster id is
"node_2".

Tomcats starts without errors. Then I add a file to the first instance using
WebDAV (http://localhost:8080/jackrabbit/repository/default/),
and expect to see the same file in the WebDAV folder of another instance (
http://localhost:8081/jackrabbit/repository/default/). But it doesn't
appear. Actually it appears, but only after restart of the tomcat. Moreover,
when I hit ctrl-R in the webdav folder of the secod instance, i recieve next
exception in the log:

22.08.2008 11:51:52 *ERROR* DatabasePersistenceManager: failed to read
property state: cb280451-187c-4d20-89e1-c9e650f79
1d2/{http://www.jcp.org/jcr/1.0}data
<http://www.jcp.org/jcr/1.0%7Ddata>(DatabasePersistenceManager.java,
line 405)
java.io.IOException: /cb/28/0451187c4d2089e1c9e650f791d2/%7bhttp%3a%2f%
2fwww.jcp.org%2fjcr%2f1.0%7ddata.0.bin: the speci
fied resource does not exist
at
org.apache.jackrabbit.core.value.BLOBInResource.<init>(BLOBInResource.java:63)
at
org.apache.jackrabbit.core.value.BLOBInResource.getInstance(BLOBInResource.java:80)
at
org.apache.jackrabbit.core.value.InternalValue.create(InternalValue.java:281)
at
org.apache.jackrabbit.core.persistence.util.Serializer.deserialize(Serializer.java:292)
at
org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager.load(DatabasePersistenceManager.java:397
)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.loadItemState(SharedItemStateManager.java:1177)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:11
02)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:249)
at
org.apache.jackrabbit.core.state.LocalItemStateManager.getPropertyState(LocalItemStateManager.java:118)
at
org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:160)
at
org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:243)
at
org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(SessionItemStateManager.java:186)
at
org.apache.jackrabbit.core.ItemManager.createItemInstance(ItemManager.java:564)
at
org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:395)
at
org.apache.jackrabbit.core.NodeImpl.getProperty(NodeImpl.java:2548)
at
org.apache.jackrabbit.server.io.DefaultHandler.exportProperties(DefaultHandler.java:435)
at
org.apache.jackrabbit.server.io.DefaultHandler.exportProperties(DefaultHandler.java:535)
at
org.apache.jackrabbit.server.io.PropertyManagerImpl.exportProperties(PropertyManagerImpl.java:59)
at
org.apache.jackrabbit.webdav.simple.DavResourceImpl.initProperties(DavResourceImpl.java:326)
at
org.apache.jackrabbit.webdav.simple.DeltaVResourceImpl.initProperties(DeltaVResourceImpl.java:249)
at
org.apache.jackrabbit.webdav.simple.VersionControlledResourceImpl.initProperties(VersionControlledResourceImp
l.java:320)
at
org.apache.jackrabbit.webdav.simple.DavResourceImpl.getProperties(DavResourceImpl.java:306)
at
org.apache.jackrabbit.webdav.MultiStatusResponse.<init>(MultiStatusResponse.java:180)
at
org.apache.jackrabbit.webdav.MultiStatus.addResourceProperties(MultiStatus.java:62)
at
org.apache.jackrabbit.webdav.MultiStatus.addResourceProperties(MultiStatus.java:66)
at
org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.doPropFind(AbstractWebdavServlet.java:434)
at
org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.execute(AbstractWebdavServlet.java:231)
at
org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:192)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)


Any ideas, recomendations?
Thank you.
John.