But merging segments doesn't delete the old, it only creates new,
unless the segments meet the "purge old criteria".
A reopen() is supposed to open the latest version in the directory by
definition, so this seems rather a remote possibility.
If it occurs due to low system resources (meaning that during a
reopen some expected segments were already deleted, throw an
StaleIndexException) and the client can reissue the reopen() call
(similar to if it could not get the write lock).
On Nov 12, 2007, at 4:47 PM, Yonik Seeley wrote:
On Nov 12, 2007 5:08 PM, robert engels <[EMAIL PROTECTED]> wrote:
As long as the files are sync'd, even on nfs the reopen should not
see segments.XXX until is is ready.
Right, but then there is a race on the other side... a reader may open
the segments .XXX file and then start opening all the referenced
segments files, but some of them may have already been deleted because
a segment merge happened. There's a retry mechanism in this case.
http://issues.apache.org/jira/browse/LUCENE-701
I guess the test with 150 threads is very atypical and could actually
cause a reader to not be successfully opened and hence an exception
thrown.
-Yonik
---------------------------------------------------------------------
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]