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]