lucene-solr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kay Kay (JIRA)" <>
Subject [jira] Commented: (SOLR-915) SolrCore;close() - scope to exploit parallelism among the number of closeHooks
Date Mon, 15 Dec 2008 18:13:44 GMT


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

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:
>             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.

View raw message