You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by sbarriba <sb...@yahoo.co.uk> on 2009/03/11 09:35:37 UTC
JackRabbit workspace reached 32000 index directories
Hi all,
We're using JackRabbit 1.4.5. One of workspaces is logging lots of errors as
follows. The directory /var/repository/workspaces/acme/index contains 32000
directories which is presumably the problem.
In what circumstances does JackRabbit create so many indexes at one level
and how can this be resolved?
All help very much appreciated.
Regards,
Shaun
Caused by: java.io.IOException: Unable to create directory:
/var/repository/workspaces/acme/index/_5j8c
at
org.apache.jackrabbit.core.query.lucene.MultiIndex.newIndexFolder(MultiIndex
..java:1116)
at
org.apache.jackrabbit.core.query.lucene.MultiIndex.getOrCreateIndex(MultiInd
ex.java:580)
at
org.apache.jackrabbit.core.query.lucene.MultiIndex$CreateIndex.execute(Multi
Index.java:1658)
at
org.apache.jackrabbit.core.query.lucene.MultiIndex.executeAndLog(MultiIndex.
java:956)
at
org.apache.jackrabbit.core.query.lucene.MultiIndex.commitVolatileIndex(Multi
Index.java:1003)
at
org.apache.jackrabbit.core.query.lucene.MultiIndex.flush(MultiIndex.java:866
)
at
org.apache.jackrabbit.core.query.lucene.Recovery.run(Recovery.java:172)
at
org.apache.jackrabbit.core.query.lucene.Recovery.run(Recovery.java:85)
at
org.apache.jackrabbit.core.query.lucene.MultiIndex.<init>(MultiIndex.java:31
4)
at
org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.java:
447)
at
org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryHand
ler.java:53)
at
org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManage
r.java:582)
... 37 more
Re: JackRabbit workspace reached 32000 index directories
Posted by Marcel Reutegger <ma...@gmx.net>.
Hi,
I've seen something similar when the index merger was busy merging
very large index segments. If that is actually the problem you can set
a higher value for the minMergeDocs parameter on the SearchIndex (e.g.
1000, default is 100) and also limit the maxMergeDocs (e.g. 1000000,
default is Integer.MAX_VALUE).
would also be interesting to see your current workspace.xml.
regards
marcel
On Wed, Mar 11, 2009 at 09:35, sbarriba <sb...@yahoo.co.uk> wrote:
> Hi all,
>
> We're using JackRabbit 1.4.5. One of workspaces is logging lots of errors as
> follows. The directory /var/repository/workspaces/acme/index contains 32000
> directories which is presumably the problem.
>
> In what circumstances does JackRabbit create so many indexes at one level
> and how can this be resolved?
>
>
>
> All help very much appreciated.
>
>
>
> Regards,
>
> Shaun
>
>
>
> Caused by: java.io.IOException: Unable to create directory:
> /var/repository/workspaces/acme/index/_5j8c
>
> at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.newIndexFolder(MultiIndex
> ..java:1116)
>
> at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.getOrCreateIndex(MultiInd
> ex.java:580)
>
> at
> org.apache.jackrabbit.core.query.lucene.MultiIndex$CreateIndex.execute(Multi
> Index.java:1658)
>
> at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.executeAndLog(MultiIndex.
> java:956)
>
> at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.commitVolatileIndex(Multi
> Index.java:1003)
>
> at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.flush(MultiIndex.java:866
> )
>
> at
> org.apache.jackrabbit.core.query.lucene.Recovery.run(Recovery.java:172)
>
> at
> org.apache.jackrabbit.core.query.lucene.Recovery.run(Recovery.java:85)
>
> at
> org.apache.jackrabbit.core.query.lucene.MultiIndex.<init>(MultiIndex.java:31
> 4)
>
> at
> org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.java:
> 447)
>
> at
> org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryHand
> ler.java:53)
>
> at
> org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManage
> r.java:582)
>
> ... 37 more
>
>
>
>
AW: Problem casting my Session to SessionImpl
Posted by Kurz Wolfgang <wo...@gwvs.de>.
Yes that was the problem thx a lot!
-----Ursprüngliche Nachricht-----
Von: Alexander Klimetschek [mailto:aklimets@day.com]
Gesendet: Mittwoch, 11. März 2009 14:59
An: users@jackrabbit.apache.org
Betreff: Re: Problem casting my Session to SessionImpl
On Wed, Mar 11, 2009 at 10:39 AM, Kurz Wolfgang <wo...@gwvs.de> wrote:
> but then I get the following exception:
>
> javax.el.ELException: java.lang.ClassCastException: org.apache.jackrabbit.core.XASessionImpl cannot be cast to org.apache.jackrabbit.core.SessionImpl
>
> I am using a local Repository which is globally available over JNDI.
Looks like a class path problem, because XASessionImpl extends
SessionImpl and casting should work. It's probably that your client
code has a different jackrabbit-core jar in it's classpath than the
actual repository (that passes this over JNDI to the client).
Regards,
Alex
--
Alexander Klimetschek
alexander.klimetschek@day.com
Re: Problem casting my Session to SessionImpl
Posted by Alexander Klimetschek <ak...@day.com>.
On Wed, Mar 11, 2009 at 10:39 AM, Kurz Wolfgang <wo...@gwvs.de> wrote:
> but then I get the following exception:
>
> javax.el.ELException: java.lang.ClassCastException: org.apache.jackrabbit.core.XASessionImpl cannot be cast to org.apache.jackrabbit.core.SessionImpl
>
> I am using a local Repository which is globally available over JNDI.
Looks like a class path problem, because XASessionImpl extends
SessionImpl and casting should work. It's probably that your client
code has a different jackrabbit-core jar in it's classpath than the
actual repository (that passes this over JNDI to the client).
Regards,
Alex
--
Alexander Klimetschek
alexander.klimetschek@day.com
Problem casting my Session to SessionImpl
Posted by Kurz Wolfgang <wo...@gwvs.de>.
Hello everyone,
i am trying to implement the garbage collection for the datastore, which looks really easy in the wiki.
Here is the code I use:
ObjectContentManager ocm = ocmFactory.createObjectContentManager();
GarbageCollector gc;
SessionImpl si = (SessionImpl)ocm.getSession();
gc = si.createDataStoreGarbageCollector();
gc.scan();
gc.stopScan();
but then I get the following exception:
javax.el.ELException: java.lang.ClassCastException: org.apache.jackrabbit.core.XASessionImpl cannot be cast to org.apache.jackrabbit.core.SessionImpl
I am using a local Repository which is globally available over JNDI.
Anyone have an Idea how I get the this working?
Thx a lot in advance to anyone who has some hints for me:-)
Wolfgang