Paul Smith wrote:
We're using Lucene 1.4.3, and after hunting around in the source code just to see what I might be missing, I came across this, and I'd just like some comments.

Please try using a 1.9 build to see if this is something that's perhaps already been fixed.

CompoundFileReader has an inner-class CSInputStream which is used to read the stream (and we're using the Compound format, so this is relevant here).

However it overrides InputStream.close(), but does not call super.close(). After tracing around where this is all used I believe that this method REALLY SHOULD be calling super.close() (or not overriding) it,because CompoundFileReader will be given an InputStream to wrap, eventually coming down to FSInputStream which apparently then calss Descriptor.close().

No, all CSInputStream's share a single FSInputStream, so the FSInputStream shouldn't be closed until all of the CSInputStream's, have been closed. This is done by CompoundFileReader.close(). It sounds like that's what's not getting called. As you update indexes, how do you close stale readers?

Doug

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to