jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Neale" <michael.ne...@gmail.com>
Subject Re: still getting intermittent index error on linux
Date Sun, 22 Apr 2007 12:47:02 GMT
Hi Marcel - ok I can reproduce it on MacOSX, a few flavours of linux and
Windows XP - I am now working on a fix.

I have noted the main issues in the JIRA, but basically, its incorrect use
of createNewFile in File - according to the java specification, so I have
re-worked locks to use NIO (FileChannel and FileLock).

Now, what is confusing me is that locks are being requested for
*directories* that do not exist - not sure what to do in that case, and that
is causing failures (as it won't created the directory automatically).

Ideas?

A few pointers, and I should have a patch for this (testing is a bitch, but
its reproducible at least, just not in a junit test - you have to start up
and stop a lot of times to see this).

Michael.


On 4/20/07, Marcel Reutegger <marcel.reutegger@gmx.net> wrote:
>
> Hi Michael,
>
> do you have a test case that you can attach to issue JCR-778?
>
> Michael Neale wrote:
> > ERROR 20-04 17:25:35,776 (LazyQueryResultImpl.java:getResults:266)
> > -Exception while executing query:
> > java.io.IOException: No such file or directory
> >    at java.io.UnixFileSystem.createFileExclusively(Native Method)
> >    at java.io.File.createNewFile(File.java:850)
> >    at org.apache.jackrabbit.core.query.lucene.FSDirectory$1.obtain (
> > FSDirectory.java:119)
> >    at org.apache.lucene.store.Lock.obtain(Lock.java:51)
> >    at org.apache.lucene.store.Lock$With.run(Lock.java:98)
> >
> > I now know I can just blow away the lucene index directory, and then it
> > will
> > start up fine (and recreate).
> > Am I somehow not "shutting down" things correctly?
>
> that's not very likely. unless you have some sort of cleanup script that
> removes
> files while the test is still running.
>
> regards
>   marcel
>

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