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]

Reply via email to