[ https://issues.apache.org/jira/browse/SOLR-915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12656679#action_12656679 ]
Kay Kay commented on SOLR-915: ------------------------------ Yes- We are having a system with multiple cores , for different (Lucene) indexes in memory . Also - we have a much less-frequent writer and high-frequency multiple readers for the same directory. The tests that I have run uses threadpools ( FixedPools for now). We also a couple of custom handlers , that are SolrCoreAware , that adds closehooks ( addCloseHook() in SolrCore ) through the inform method. The closehooks do some io heavylifting - which I believe has scope to be exploited. Solr, as much as being a server, also serves the purpose of an API , for custom request handlers to be extended. So - my concern here is that the close() for a single SolrCore instance also takes significant importance, even though it is all about unwinding resource acquisition. ps: I am not a big fan of running multiple SolrCore on a single app server since architecturally (also from the point of deploying it ) - it is not intuitive / scalable. But until we move towards separating out - this is something we need to live with. > SolrCore;close() - scope to exploit parallelism among the number of > closeHooks > -------------------------------------------------------------------------------- > > Key: SOLR-915 > URL: https://issues.apache.org/jira/browse/SOLR-915 > Project: Solr > Issue Type: Improvement > Environment: Tomcat 6, JRE 6 > Reporter: Kay Kay > Original Estimate: 96h > Remaining Estimate: 96h > > In SolrCore: close() - all the way towards the end of the function - there > seems to be a sequential list of close method invocation. > if( closeHooks != null ) { > for( CloseHook hook : closeHooks ) { > hook.close( this ); > } > } > I believe this has scope to be parallelized ( actually the entire sequence of > close operations , updateHandler,close() etc.) - by means of launching them > in separate threads from an ExecutorService , for a much faster shutdown as > the process definitely does not need to be sequential. > This becomes all the more important in the multi-core context when we might > want to shutdown and restart a SolrCore altogether. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.