[ https://issues.apache.org/jira/browse/SOLR-1808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12843363#action_12843363 ]
Yonik Seeley commented on SOLR-1808: ------------------------------------ bq. Solr is maintaining a heavy weight Searcher instance Well... IndexSearcher isn't particularly heavyweight, but Solr's implementation is (due to historical reasons mostly). No one is calling it optimal - we need to move more stuff to per-segment caching over time. > 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.