Thanks for the info on write.lock Otis,
>>If that is so, should there not be 'N' at delete/delete intersection?
I'm using the same IndexReader so, "no":
public synchronized final void delete(int docNum)
>>The same goes for write/write intersection. That should then be an 'N'
>>as well, no?
Again, if using the same object (IndexWriter) there is some synchronization in
the Lucene code to handle this:
public final void addDocument(Document doc) throws IOException {
DocumentWriter dw =
new DocumentWriter(ramDirectory, analyzer, maxFieldLength);
String segmentName = newSegmentName();
dw.addDocument(segmentName, doc);
synchronized (this) {
segmentInfos.addElement(new SegmentInfo(segmentName, 1, ramDirectory));
maybeMergeSegments();
}
}
I ran several concurrent threads in the test rig I originally posted without
problems - looks like Lucene was handling these situations.
>>I'd hate to have a misleading and incorrect FAQ entry there.
Me too. Maybe the FAQ entry should have a footnote to explicitly state that
the same reader/writer objects are being used by all threads.
Cheers
Mark
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>