[ 
https://issues.apache.org/jira/browse/SOLR-182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12479491
 ] 

Ryan McKinley commented on SOLR-182:
------------------------------------

But what is the failure mode?  

Suppose, in thread A, I call:
  SolrCore.getSolrCore().registerRequestHandler( "/path/to/handler", handler );

then 5 seconds later in thread D, I call:
  SolrCore.getSolrCore().getRequestHandler( "/path/to/handler" )

Can we be sure the new handler will be returned?  Is there any chance of 
anything exploding?  Is it only in the microseconds around touching the map 
that things are undefined?  

If it is a graceful error (null or whatever was there before), i don't think 
this case needs to be synchronized.  If it is something else could happen, it 
should be.

> register SolrRequestHandlers at runtime / lazy loading
> ------------------------------------------------------
>
>                 Key: SOLR-182
>                 URL: https://issues.apache.org/jira/browse/SOLR-182
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Ryan McKinley
>             Fix For: 1.2
>
>         Attachments: SOLR-182-RuntimeRequestHandlers.patch, 
> SOLR-182-RuntimeRequestHandlers.patch, SOLR-182-RuntimeRequestHandlers.patch, 
> SOLR-182-RuntimeRequestHandlers.patch
>
>
> It would be useful to be able to register handlers after SolrCore has been 
> initialized initialized.  It is also useful to be able to ask what handlers 
> are registered and to where.  This patch adds the following functions to 
> SolrCore:
> SolrRequestHandler registerRequestHandler(String handlerName, 
> SolrRequestHandler handler);
> Collection<SolrRequestHandler> getRequestHandlers(Class<? extends 
> SolrRequestHandler> clazz);
> It also guarantees that request handlers will be initialized with an argument 
> saying what path it is registered to.  RequestHandlerBase gets a bean for the 
> registered path.
> While discussing this, Yonik suggested making it possible to defer 
> initialization of some handlers that will be infrequently used.  I added the 
> 'LazyRequestHandlerWrapper'  (if taking this out makes the patch any easier 
> to commit - it can get its own issue)
> check:
> http://www.nabble.com/Dynamic-RequestHandler-loading-tf3351707.html

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