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-1106) Pluggable CoreAdminHandler (Action ) architecture that allows for custom handler access to CoreContainer / request-response
Date Mon, 20 Apr 2009 14:41:47 GMT


Kay Kay commented on SOLR-1106:

| As I see it , there will be very few users overriding the CoreAdminHandler . We do it and
we have a custom build of Solr for that. With this issue fixed I may be able to plugin my
custom CoreAdminHandler. having 7 -8 methods to be overridden is a good idea. If there are
new commands we may have new methods

I have to disagree with the suggestions of overriding 7 - 8 method as a good idea here. Also
- it seems ironical to me that you have a commit privilege to solr and have a custom build
too ( as opposed to a pluggable library to solr ) since given the right hooks available -
it can prevent forking of the code and useful to others in the community as well. 

The point of my longer exercise of submitting a patch to get it committed is to prevent forking
, even though it is tempting in terms of time to do it otherwise. 

Having put the reasons-  here is the revised patch with individual methods being overridden
as separate methods . 

> Pluggable CoreAdminHandler  (Action ) architecture that allows for custom handler access
to CoreContainer / request-response 
> -----------------------------------------------------------------------------------------------------------------------------
>                 Key: SOLR-1106
>                 URL:
>             Project: Solr
>          Issue Type: New Feature
>         Environment: Java 5, Tomcat 6 
>            Reporter: Kay Kay
>         Attachments: SOLR-1106.patch, SOLR-1106.patch, SOLR-1106.patch, SOLR-1106.patch
>   Original Estimate: 3h
>  Remaining Estimate: 3h
> Currently there are certain default actions implemented in CoreAdminHandler ( CREATE
, SWAP, RELOAD , ALIAS etc.) . 
> For the purpose of in-house monitoring tools that needs to interact with multiple cores
at a given solr instance - we need custom handlers that has access to CoreContainer and the
req, resp of the same. 
> So - the proposed way of injecting handlers is as follows. 
> In solr.xml - we add a new schema - 
>  <solr >
>      <cores adminPath="/cores/admin">  
>           <adminActionHandler action="newaction" handlerType="com.mydomain.myclass"
>       </cores> 
>   </solr> 
> New abstract class -  CoreAdminActionRequestHandler added - that com.mydomain.myclass
would need to inherit from. 
> Following action handlers registered by default - 
>     registerCustomAdminHandler("create", new AdminCreateActionRequestHandler());
>     registerCustomAdminHandler("rename", new AdminRenameActionRequestHandler());
>     registerCustomAdminHandler("alias", new AdminAliasActionRequestHandler());
>     registerCustomAdminHandler("unload", new AdminUnloadActionRequestHandler());
>     registerCustomAdminHandler("status", new AdminStatusActionRequestHandler());
>     registerCustomAdminHandler("persist", new AdminPersistActionRequestHandler());
>     registerCustomAdminHandler("reload", new AdminReloadActionRequestHandler());
>     registerCustomAdminHandler("swap", new AdminSwapActionRequestHandler());
> Trying to register a handler with one that already exists would result in an error (
Hence - the above mentioned defaults would not be overridden). 

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message