lucene-solr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shalin Shekhar Mangar (JIRA)" <>
Subject [jira] Updated: (SOLR-1106) Pluggable CoreAdminHandler (Action ) architecture that allows for custom handler access to CoreContainer / request-response
Date Wed, 22 Apr 2009 13:23:47 GMT


Shalin Shekhar Mangar updated SOLR-1106:

    Attachment: SOLR-1106.patch

Thanks Kay, this looks good.

I've made the following changes over your last patch
# Re-formatted code to Lucene/Solr coding style. I know this is frowned upon for changes to
existing code but CoreAdminHandler was the only place using a non-standard style of brace
positioning and variable names.
# Made the CoreContainer instance protected
# Removed the CoreContainer parameter to all the action methods since it is an instance variable
# Removed the final keyword from variable/parameter definitions. That is just noise in this
context, isn't it?

I think this is ready to commit. I'll wait for a day for any feedback that others may have.

> Pluggable CoreAdminHandler  (Action ) architecture that allows for custom handler access
to CoreContainer / request-response 
> -----------------------------------------------------------------------------------------------------------------------------
>                 Key: SOLR-1106
>                 URL:
>             Project: Solr
>          Issue Type: New Feature
>          Components: search
>         Environment: Java 5, Tomcat 6 
>            Reporter: Kay Kay
>            Assignee: Shalin Shekhar Mangar
>             Fix For: 1.4
>         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