[ 
https://issues.apache.org/jira/browse/SOLR-915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12656777#action_12656777
 ] 

Ryan McKinley commented on SOLR-915:
------------------------------------

Can we back up a bit...  what problem exactly are you having?

We need to see if there is a good minimal-impact solution with back 
compatibility.  In the end, we want the existing behavior to work as it does 
now: you close a core and all the closeHooks are executed.

Where is the blocking you are hitting?  Are  you calling 
CoreContainer.shutdown()?  are you calling the close() function programatically 
or via the webapp?  

--------

As for new Thread() vs using a ThreadPool -- can we open that as a new 
issue/discussion.  It seems to make sense, but I have not thought about the 
consequences too much.  If we are adding a container wide ThreadPool it would 
be good to do that explicitly rather then as a side effect of an edge case 
(slow shutdown hooks)

> 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
>          Components: search
>         Environment: Tomcat 6, JRE 6
>            Reporter: Kay Kay
>            Assignee: Ryan McKinley
>            Priority: Minor
>             Fix For: 1.4
>
>         Attachments: SOLR-915.patch, SOLR-915.patch, SOLR-915.patch
>
>   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.

Reply via email to