Defaulting NIOFSDir could account for some of the recent speed
improvements users have been reporting in Lucene 2.9.  So removing it
as a default could reverse those and people could then report Lucene
3.X has slowed...

On Thu, Jan 28, 2010 at 5:24 AM, Michael McCandless
<luc...@mikemccandless.com> wrote:
> Bummer.
>
> So the only viable workarounds are 1) don't use Thread.interrupt (nor,
> things like Future.cancel, which in turn use Thread.interrupt) with
> NIOFSDir, or 2) we fix NIOFSDir to reopen the channel AND the app must
> make a deletion policy that keeps a commit alive if any reader is
> using it.  Or, 3) don't use NIOFSDir!
>
> Mike
>
> On Thu, Jan 28, 2010 at 7:29 AM, Simon Willnauer
> <simon.willna...@googlemail.com> wrote:
>> On Thu, Jan 28, 2010 at 12:43 PM, Michael McCandless
>> <luc...@mikemccandless.com> wrote:
>>> On Thu, Jan 28, 2010 at 6:38 AM, Uwe Schindler <u...@thetaphi.de> wrote:
>>>
>>>> So I checked the code of NIOFSIndexInput, my last comment was not really 
>>>> correct:
>>>> NIOFSIndexInput extends SimpleFSIndexInput and that opens the RAF. In the 
>>>> ctor RAF.getChannel() is called. The RAF keeps open until the file is 
>>>> closed (and also the channel).
>>>>
>>>> So it's really simple to fix in my opinion, just call getChannel() again 
>>>> on this exception. Because the RAF should still be open?
>>
>> Short answer:
>>  public final FileChannel getChannel() {
>>        synchronized (this) {
>>            if (channel == null)
>>                channel = FileChannelImpl.open(fd, true, rw, this);
>>            return channel;
>>        }
>>    }
>>
>> this is not gonna work I tried it before. The RandomAccessFile buffers
>> the channel!!
>>
>> simon
>>>
>>> I think we need a definitive answer on what happens to the RAF when
>>> the FileChannel was closed by Thread.Interrupt.  Simon can you test
>>> this?
>>>
>>> Mike
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
>>> For additional commands, e-mail: java-dev-h...@lucene.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: java-dev-h...@lucene.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: java-dev-h...@lucene.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to