Michael Busch wrote:
Of course it can happen that you run out of available file
descriptors when a lot of threads open separate IndexReaders, and
then the SegmentMerger could certainly hit IOExceptions, but I
don't think a FileNotFoundException would be thrown in such a case.
I think I've actually seen a FileNotFoundException thrown when the
underlying root cause was file descriptor exhaustion, but I'm not
certain.
Can you use lsof (or something similar) to see how many files you have?
Merging, especially several running at once, can greatly increase
open file count, and especially if mergeFactor is increased.
Paul, is Lucene the only process that modifies the index directory?
Would it be possible for you to try out the current Lucene trunk
version and verify it the error persists? Maybe LUCENE-1044 fixes
this as it makes Lucene more robust in case of machine or OS
crashes. However, since in your case "only" the process gets killed
by the OS, it should still sync the files properly to disk without
1044 I believe. What do you thing, Mike?
Right, kill -9 should never corrupt the index, and 1044 should not
affect the "kill -9" case; it only fixes the risk of corruption on a
non-graceful machine/os crash/power loss.
Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]