jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Klimetschek" <aklim...@day.com>
Subject Re: Problems with clustering
Date Fri, 22 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

Mime
View raw message