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
