jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Vilkovich" <myfakeemail...@gmail.com>
Subject Problems with clustering
Date Fri, 22 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.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message