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 <[EMAIL PROTECTED]> 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

Reply via email to