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