Thanks. That was the problem. On Fri, Aug 22, 2008 at 10:12 PM, Alexander Klimetschek <[EMAIL PROTECTED]>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 > <[EMAIL PROTECTED]> 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&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&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&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&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&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&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 > [EMAIL PROTECTED] >
