Does each thread have its own IndexWriter?  This could cause the issue
you describe.

IndexWriter is thread-safe so that multiple threads can use the same
instance, however you will see a performance degradation compared to
only having one thread modify the index.  We've done quite a bit of
testing for that case a while back and only have one thread modifying an
index at a time.

Michael

-----Original Message-----
From: Li Bing [mailto:lbl...@gmail.com] 
Sent: Wednesday, October 28, 2009 10:57 PM
To: lucene-net-user@incubator.apache.org
Cc: Li Bing - Gmail
Subject: Exceptions When Indexing with Multi-threading

Dear all,

Today I got exceptions when indexing with multi-threading. It says
that "deletable.new" or "segments.new" are accessed by other
processes. So it cannot rename ...

However, I have used "ReaderWriterSlim" lock to avoid the relevant
folders to be accessed by multiple threads at the same time. For
example, if the indexing is done in D:\Test\, I use "ReaderWriterSlim"
to prevent other threads from writing in the folder. I think the above
exceptions should not happen if I do that. However, it is NOT true.
Why?

Any other ways to avoid the problem?

Thanks so much!
LB


Reply via email to