David Smiley created SOLR-17375: ----------------------------------- Summary: Close IndexReader asynchronously on commit for performance Key: SOLR-17375 URL: https://issues.apache.org/jira/browse/SOLR-17375 Project: Solr Issue Type: Improvement Security Level: Public (Default Security Level. Issues are Public) Affects Versions: 9.3 Reporter: David Smiley
Since Lucene 9.5, and with a recent Java VM (19), Lucene uses Java's new MemorySegments API. A negative consequence is that IndexReader.close becomes expensive, particularly when there are many threads as it's {{{}O(threads){}}}. Solr closes the (previous) reader on a SolrIndexSearcher open, which is basically on commit (both soft and hard). (See Lucene [#13325|https://github.com/apache/lucene/issues/13325]) Proposal: SolrIndexSearcher.close should perform the {{rawReader.decRef()}} in another thread, probably a global (statically defined) thread pool of one or two in size ([~uschindler] 's recommendation). The call to {{core.getDeletionPolicy().releaseCommitPoint(cpg)}} which follows it should probably go along with it. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org