jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martijn Hendriks <mhnd...@gmail.com>
Subject Re: Unable to start second node in a cluster
Date Thu, 17 Dec 2009 09:25:12 GMT
The only thing I can think of is that Lucene left a lock file
somewhere but I have no clue why it should do that... It is strange
that this happens with the bundle PM and not with the regular DB PM.
You don't use a filsystem which is shared between the cluster nodes,
do you?

Martijn

On Wed, Dec 16, 2009 at 10:37 AM, Dennis van der Laan
<d.g.van.der.laan@rug.nl> wrote:
> Hi Martijn,
>> We often use a bundle db PM in a cluster and I've never seen the
>> problem you describe. It woul help if you can provide more detailed
>> logging, and which version of Jackrabbit are you using?
>>
>>
> See below for our configuration file and some more error logging. Note
> that the System property "ucms.cluster.id" is different for each cluster
> node, the rest of the used properties have the same values for all
> cluster nodes. As said, changing the bundle.OraclePersistenceManager to
> a db.OraclePersistenceManager fixes the problem, but is not what I want...
>
> Thanks,
> Dennis
>
> === repository.xml ===
>
> <?xml version="1.0"?>
> <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD
> Jackrabbit 1.5//EN"
>
> "http://jackrabbit.apache.org/dtd/repository-1.5.dtd">
> <Repository>
>    <Cluster id="${ucms.cluster.id}">
>        <Journal
> class="org.apache.jackrabbit.core.journal.OracleDatabaseJournal">
>            <param name="revision" value="${rep.home}/revision.log" />
>            <param name="driver" value="oracle.jdbc.driver.OracleDriver" />
>            <param name="url" value="${ucms.cluster.db.url}" />
>            <param name="user" value="${ucms.cluster.db.user}"/>
>            <param name="password" value="${ucms.cluster.db.passwd}"/>
>        </Journal>
>    </Cluster>
>
>    <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>        <param name="path" value="${rep.home}/repository"/>
>    </FileSystem>
>
>    <Security appName="Jackrabbit">
>        <SecurityManager
> class="org.apache.jackrabbit.core.security.simple.SimpleSecurityManager"
> workspaceName="security" />
>        <AccessManager
> class="org.apache.jackrabbit.core.security.simple.SimpleAccessManager" />
>        <LoginModule
> class="org.apache.jackrabbit.core.security.simple.SimpleLoginModule">
>           <param name="anonymousId" value="anonymous"/>
>           <param name="adminId" value="admin"/>
>        </LoginModule>
>    </Security>
>
>    <Workspaces rootPath="${rep.home}/workspaces"
> defaultWorkspace="default"/>
>
>    <Workspace name="${wsp.name}">
>        <FileSystem
> class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>            <param name="path" value="${wsp.home}"/>
>        </FileSystem>
>
>        <PersistenceManager
> class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
>            <param name="url" value="${ucms.cluster.db.url}"/>
>            <param name="user" value="${ucms.cluster.db.user}"/>
>            <param name="password" value="${ucms.cluster.db.passwd}"/>
>            <param name="schemaObjectPrefix" value="${wsp.name}_"/>
>            <param name="bundleCacheSize" value="8"/>
>        </PersistenceManager>
>
>        <SearchIndex
> class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>            <param name="path" value="${wsp.home}/index"/>
>            <param name="textFilterClasses"
> value="org.apache.jackrabbit.extractor.PlainTextExtractor,org.apache.jackrabbit.extractor.MsWordTextExtractor,org.apache.jackrabbit.extractor.MsExcelTextExtractor,org.apache.jackrabbit.extractor.MsPowerPointTextExtractor,org.apache.jackrabbit.extractor.PdfTextExtractor,org.apache.jackrabbit.extractor.OpenOfficeTextExtractor,org.apache.jackrabbit.extractor.RTFTextExtractor,org.apache.jackrabbit.extractor.HTMLTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>            <param name="extractorPoolSize" value="2"/>
>            <param name="supportHighlighting" value="true"/>
>        </SearchIndex>
>    </Workspace>
>
>    <Versioning rootPath="${rep.home}/version">
>        <FileSystem
> class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>            <param name="path" value="${rep.home}/version" />
>        </FileSystem>
>
>        <PersistenceManager
> class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
>            <param name="url" value="${ucms.cluster.db.url}"/>
>            <param name="user" value="${ucms.cluster.db.user}"/>
>            <param name="password" value="${ucms.cluster.db.passwd}"/>
>            <param name="schemaObjectPrefix" value="version_"/>
>            <param name="bundleCacheSize" value="8"/>
>        </PersistenceManager>
>    </Versioning>
>
>    <SearchIndex
> class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>        <param name="path" value="${rep.home}/repository/index"/>
>        <param name="textFilterClasses"
> value="org.apache.jackrabbit.extractor.PlainTextExtractor,org.apache.jackrabbit.extractor.MsWordTextExtractor,org.apache.jackrabbit.extractor.MsExcelTextExtractor,org.apache.jackrabbit.extractor.MsPowerPointTextExtractor,org.apache.jackrabbit.extractor.PdfTextExtractor,org.apache.jackrabbit.extractor.OpenOfficeTextExtractor,org.apache.jackrabbit.extractor.RTFTextExtractor,org.apache.jackrabbit.extractor.HTMLTextExtractor,org.apache.jackrabbit.extractor.XMLTextExtractor"/>
>        <param name="extractorPoolSize" value="2"/>
>        <param name="supportHighlighting" value="true"/>
>    </SearchIndex>
>
>    <!-- DataStore configuration -->
>    <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
>        <param name="driver" value="oracle.jdbc.OracleDriver"/>
>        <param name="url" value="${ucms.cluster.db.url}"/>
>        <param name="user" value="${ucms.cluster.db.user}"/>
>        <param name="password" value="${ucms.cluster.db.passwd}"/>
>        <param name="minRecordLength" value="1024"/>
>        <param name="maxConnections" value="8"/>
>        <param name="copyWhenReading" value="true"/>
>    </DataStore>
> </Repository>
>
> === error message ===
>
> 2009-12-15 22:50:33,948 ERROR
> [org.apache.jackrabbit.core.RepositoryImpl] - failed to start
> Repository: Directory was previously created with a differ
> ent LockFactory instance; please pass null as the lockFactory instance
> and use setLockFactory to change it: Directory was previously created
> with a di
> fferent LockFactory instance; please pass null as the lockFactory
> instance and use setLockFactory to change it
> javax.jcr.RepositoryException: Directory was previously created with a
> different LockFactory instance; please pass null as the lockFactory
> instance an
> d use setLockFactory to change it: Directory was previously created with
> a different LockFactory instance; please pass null as the lockFactory
> instanc
> e and use setLockFactory to change it: Directory was previously created
> with a different LockFactory instance; please pass null as the
> lockFactory ins
> tance and use setLockFactory to change it
>        at
> org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManager.java:540)
>        at
> org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:213)
>        at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(RepositoryImpl.java:1790)
>        at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doPostInitialize(RepositoryImpl.java:2008)
>        at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(RepositoryImpl.java:1921)
>        at
> org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:489)
>        at
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:330)
>        at
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:627)
>        at
> org.apache.jackrabbit.core.jndi.BindableRepository.createRepository(BindableRepository.java:141)
>        at
> org.apache.jackrabbit.core.jndi.BindableRepository.init(BindableRepository.java:117)
>        at
> org.apache.jackrabbit.core.jndi.BindableRepository.<init>(BindableRepository.java:106)
>        at
> org.apache.jackrabbit.core.jndi.BindableRepositoryFactory.getObjectInstance(BindableRepositoryFactory.java:51)
>        at
> org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:140)
>        at
> javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
>        at org.apache.naming.NamingContext.lookup(NamingContext.java:793)
>        at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
>        at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
>        at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
>        at
> org.apache.naming.factory.ResourceLinkFactory.getObjectInstance(ResourceLinkFactory.java:97)
>        at
> javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
>        at org.apache.naming.NamingContext.lookup(NamingContext.java:793)
>        at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
>        at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
>        at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
>        at
> nl.rug.ucms.fs.jcr.JcrConfiguration.initialize(JcrConfiguration.java:44)
>        ...
> Caused by: java.io.IOException: Directory was previously created with a
> different LockFactory instance; please pass null as the lockFactory
> instance a
> nd use setLockFactory to change it
>        at
> org.apache.lucene.store.FSDirectory.getDirectory(FSDirectory.java:192)
>        at
> org.apache.jackrabbit.core.query.lucene.directory.FSDirectoryManager.getDirectory(FSDirectoryManager.java:64)
>        at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.<init>(MultiIndex.java:229)
>        at
> org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.java:502)
>        at
> org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryHandler.java:66)
>        at
> org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManager.java:538)
>        ... 46 more
> java.io.IOException: Directory was previously created with a different
> LockFactory instance; please pass null as the lockFactory instance and
> use setL
> ockFactory to change it
>        at
> org.apache.lucene.store.FSDirectory.getDirectory(FSDirectory.java:192)
>        at
> org.apache.jackrabbit.core.query.lucene.directory.FSDirectoryManager.getDirectory(FSDirectoryManager.java:64)
>        at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.<init>(MultiIndex.java:229)
>        at
> org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.java:502)
>        at
> org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryHandler.java:66)
>        at
> org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManager.java:538)
>        at
> org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:213)
>        at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(RepositoryImpl.java:1790)
>        at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doPostInitialize(RepositoryImpl.java:2008)
>        at
> org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(RepositoryImpl.java:1921)
>        at
> org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:489)
>        at
> org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:330)
>        at
> org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:627)
>        at
> org.apache.jackrabbit.core.jndi.BindableRepository.createRepository(BindableRepository.java:141)
>        at
> org.apache.jackrabbit.core.jndi.BindableRepository.init(BindableRepository.java:117)
>        at
> org.apache.jackrabbit.core.jndi.BindableRepository.<init>(BindableRepository.java:106)
>        at
> org.apache.jackrabbit.core.jndi.BindableRepositoryFactory.getObjectInstance(BindableRepositoryFactory.java:51)
>        at
> org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:140)
>        at
> javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
>        at org.apache.naming.NamingContext.lookup(NamingContext.java:793)
>        at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
>        at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
>        at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
>        at
> org.apache.naming.factory.ResourceLinkFactory.getObjectInstance(ResourceLinkFactory.java:97)
>        at
> javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
>        at org.apache.naming.NamingContext.lookup(NamingContext.java:793)
>        at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
>        at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
>        at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
>        at
> nl.rug.ucms.fs.jcr.JcrConfiguration.initialize(JcrConfiguration.java:44)
>        ...
>
> --
> Dennis van der Laan
>
>

Mime
View raw message