Hi Michael...

Here's the traceback:
[Indexer.java 652] buildFullIndex: Error building full index
java.io.IOException: Cannot rename
D:\indexbuild1\contact_index\deleteable.new to
D:\indexbuild1\contact_index\deletable at
 org.apache.lucene.store.FSDirectory.renameFile(FSDirectory.java:294) at
org.apache.lucene.index.IndexWriter.writeDeleteableFiles(IndexWriter.jav
a:827) at
 
org.apache.lucene.index.IndexWriter.deleteSegments(IndexWriter.java:771)
at
 org.apache.lucene.index.IndexWriter.mergeSegments(IndexWriter.java:732)
at
 org.apache.lucene.index.IndexWriter.mergeSegments(IndexWriter.java:686)
at
org.apache.lucene.index.IndexWriter.maybeMergeSegments(IndexWriter.java:
674)at
 org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:479)
at
 org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:462)
at
 com.glgroup.glissando.Indexer.indexAllDocuments(Indexer.java:546) at
 com.glgroup.glissando.Indexer.buildFullIndex(Indexer.java:646) at
 com.glgroup.glissando.Indexer.buildIndex(Indexer.java:728) at
 com.glgroup.glissando.Indexer.buildIndices(Indexer.java:845) at
 
com.glgroup.glissando.IndexingService.stepService(IndexingService.java:3
9) at
 com.glgroup.util.threading.ServiceThread.run(ServiceThread.java:60)
Caused by: java.io.FileNotFoundException:
D:\indexbuild1\contact_index\deletable (Access is denied) at
 java.io.FileOutputStream.open(Native Method) at
 java.io.FileOutputStream.<init>(Unknown Source) at
 java.io.FileOutputStream.<init>(Unknown Source) at
 org.apache.lucene.store.FSDirectory.renameFile(FSDirectory.java:278)
... 13 more

        So you can see, yes it's exactly in that spot.  Given the
circumstances we've seen, it seems like File.renameTo() is working most
of the  time but whatever causes it to fail at this specific point in
time also causes the 
New FileOutputStream (nu);
 to blow up 2 lines later.

        As I said, the trigger seems to be Windows Explorer doing a
refresh at the same moment that Lucene is trying to do one of these
swaps.  I don't know if this is a weakness in the jvm implementation of
the file classes or what, but I've found complaints/bugs about the java
file interactions on windows coming up to 2004.

-Mark




 
This e-mail message, and any attachments, is intended only for the use of the 
individual or entity identified in the alias address of this message and may 
contain information that is confidential, privileged and subject to legal 
restrictions and penalties regarding its unauthorized disclosure and use. Any 
unauthorized review, copying, disclosure, use or distribution is strictly 
prohibited. If you have received this e-mail message in error, please notify 
the sender immediately by reply e-mail and delete this message, and any 
attachments, from your system. Thank you. 

-----Original Message-----

From: Michael McCandless [mailto:[EMAIL PROTECTED] 
Sent: Friday, August 04, 2006 5:28 PM
To: java-user@lucene.apache.org
Subject: Re: running a lucene indexing app as a windows service on xp,
crashing


> The Lucene code is crashing under circumstances that seem pretty lame.
> At periodic intervals, lucene tries to File.renameTo(newfile).
> Sometimes this fails, so Lucene implemented some fall-back code to
> manually copy the contents of the file from old to new.  Our problem
is
> that sometimes *this* fails too, then the whole thing blows up.

I agree Lucene should not be affected by things like having Windows 
Explorer windows up!

Can you post the traceback you're seeing?  In particular, what's failing

about the fallback approach?

Is it in the FSDirectory's renameFile method?  There is this comment in 
there:

     // Rename the old file to the new one. Unfortunately, the
renameTo()
     // method does not work reliably under some JVMs.  Therefore, if
the
     // rename fails, we manually rename by copying the old file to the 
new one

and correspondingly this comment in the original commit for this (back 
on March 1 2003):

- Added a manual renaming of files in case the java.io.File's
renameTo(File)
   call fails.  It has been reported that this happens on Windows JVMs.
Contributed by: Matt Tucker

Mike

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to