lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From robert engels <>
Subject Re: [jira] Commented: (LUCENE-743) IndexReader.reopen()
Date Mon, 12 Nov 2007 22:57:49 GMT
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 <> 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.
> 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:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message