Hello, all.  I'm hoping this message gets a response...

I am running Lucene's unit tests against a custom Directory subclass (from 
Lucene Transform) using 
"-Dtests.directory=org.apache.lucene.store.transform.TransformedDirectoryLuceneTestWrapper".
  I've been banging my head against this one failure for a few hours.  It 
happens from the command line ("ant test"), but not eclipse.  I've narrowed it 
down using printf debugging.  I am using the same random seed in both cases, 
though I've run it a lot without specifying the seed and I always find that it 
passes in eclipse and fails from the command line.

The failure is in TestIndexWriterCommit.testPrepareCommitRollback().  The 
second commit fails, because FSDirectory.ensureCanWrite() fails on the 
segment_2 file, because File.delete() fails on this file, causing FSDirectory 
to throw IOException.  (I've checked that MockDirectoryWrapper isn't inserting 
a failure.)  Also, I can see that during the test's rollback call, there are 3 
attempts made to delete the file, which fail in the same way.  I checked that 
Lucene Transform closes its handle to this file, so that shouldn't be blocking 
the deletion.  And I don't see how any other code could open a handle to this 
file, since it's created in a temp directory created by Lucene Transform.  I 
can't think of any reason for the difference between ant and eclipse!

Please help!

Thanks,
Scott

Reply via email to