Doug Cutting wrote:
> FSInputStream.file is shared between all clones of an open file. Access
> to it is synchronized. This works correctly. Cloned input streams are
> already used extensively.
>
>> The solution I think is to recreate the FSInputStream.file object
>> whenever a FSInputStream is cloned. I've attached what I think is a
>> fix for the issue below.
>
>
> This would cause lots more file handles to be opened, and would also
> fail once a file has been deleted. On UNIX, an open file handle may be
> used after it is deleted, and Lucene leverages this so that updates can
> occur while an index is still being searched. I don't think there's a
> bug here to be fixed.
You're correct of course. Note to self: Don't reports bugs at the end of the day ;)
Regards,
Bruce Ritchie
|