When IndexReader.reopen is called, old reader is not properly closed
--------------------------------------------------------------------

                 Key: SOLR-1808
                 URL: https://issues.apache.org/jira/browse/SOLR-1808
             Project: Solr
          Issue Type: Bug
          Components: search
    Affects Versions: 1.4
            Reporter: John Wang


According to Lucene documentation:
"If the index has not changed since this instance was (re)opened, then this 
call is a NOOP and returns this instance. Otherwise, a new instance is 
returned. The old instance is not closed and remains usable."

In SolrCore.java:

if (newestSearcher != null && solrConfig.reopenReaders
          && indexDirFile.equals(newIndexDirFile)) {
        IndexReader currentReader = newestSearcher.get().getReader();
        IndexReader newReader = currentReader.reopen();

        if (newReader == currentReader) {
          currentReader.incRef();
        }

        tmp = new SolrIndexSearcher(this, schema, "main", newReader, true, 
true);
      }

When currentReader!=newReader, currentReader seems to be leaking.


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

Reply via email to