It works because Lucene doesn't currently check for it, and, because
closing an FSDirectory does not actually make it unusable. In fact it
also doesn't catch a double-close call.
But it may cause subtle problems, because FSDirectory has this
invariant: only a single instance of FSDirectory exists per canonical
directory in the filesystem. This allows code to synchronized on that
instance and sure no other code in the same JVM is also working in
that canonical directory.
When you close an FSDirectory but keep using it you can get yourself
to a point where this invariant is broken. That said, besides
IndexModifier (which is now deprecated), I can't find anything that
would actually break when this invariant is broken.
Still I think we should put protection in to catch double-closing and
prevent using a closed directory. I'll open an issue.
Mike
Paul Taylor wrote:
Michael McCandless wrote:
Hmmm, you should not close the directory if you are then going to
use it to instantiate a searcher.
how come it works ?
Your code below never closes the searcher? I think that is most
likely the source of your file descriptor leaks.
Ok fixed
paul
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]