[
https://issues.apache.org/jira/browse/SOLR-182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12483871
]
Yonik Seeley commented on SOLR-182:
-----------------------------------
A couple of comments...
- For lazy loading, you don't even want to load the class if it's not used
(loaded classes take up resources, and there may be optional jars that will
cause errors).
- it really seems like init() must be called before any calls to handleRequest.
To ensure this, I don't think we can do the registration inbetween. This
isn't just a hypothetical problem... think about when a new web page is
published that causes a new type of request to start hitting an existing Solr
server... 10s to 100s of requests per second for a new hander all of a sudden.
The likelihood becomes very high that another request will cause
handleRequest() to be called before or concurrently with init().
> 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, 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.