lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <>
Subject [jira] Commented: (LUCENE-2255) IndexWriter.getReader() allocates file handles
Date Mon, 08 Feb 2010 21:17:27 GMT


Michael McCandless commented on LUCENE-2255:

This has already been fixed on trunk... we added this to the javadocs a while back:

   * <p>You must close the {@link IndexReader} returned by
   * this method once you are done using it.</p>

While the returned reader used IndexWriter to determine which segments to open, the returned
reader is fully independent of the writer.  EG you can close the writer and continue using
the reader.  And you must close the reader.

I'll backport that fix to 3.0 & 2.9.

> IndexWriter.getReader() allocates file handles
> ----------------------------------------------
>                 Key: LUCENE-2255
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>         Environment: Ubuntu 9.10, Java 6
>            Reporter: Mikkel Kamstrup Erlandsen
>         Attachments:
> I am not sure if this is a "bug" or really just me not reading the Javadocs right...
> The IR returned by IW.getReader() leaks file handles if you do not close() it, leading
to starvation of the available file handles/process. If it was clear from the docs that this
was a *new* reader and not some reference owned by the writer then this would probably be
ok. But as I read the docs the reader is internally managed by the IW, which at first shot
lead me to believe that I shouldn't close it.
> So perhaps the docs should be amended to clearly state that this is a caller-owns reader
that *must* be closed? Attaching a simple app that illustrates the problem.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message