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

Noble Paul edited comment on SOLR-9577 at 9/28/16 10:25 AM:
------------------------------------------------------------

bq. IMO, the close hooks are a workaround for the fact that our plugins such as 
SearchComponent and RequestHandler do not have a proper close method.

Actually, close() is supported even today. Any component that implements 
{{java.lang.AutoCloseable}} is automatically given a callback when the core is 
shut down. Most components don't use it



was (Author: noble.paul):
bq. IMO, the close hooks are a workaround for the fact that our plugins such as 
SearchComponent and RequestHandler do not have a proper close method.

Actually, close() is supported even today. Any component that implements 
{{java.lang.AutoCloseable}} will automatically be given a callback when the 
core is shutdown. Most components don't use it


> SolrConfig edit operations should not need to reload core
> ---------------------------------------------------------
>
>                 Key: SOLR-9577
>                 URL: https://issues.apache.org/jira/browse/SOLR-9577
>             Project: Solr
>          Issue Type: Sub-task
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Noble Paul
>
> Every single change done to solrconfig.xml/configoverlay.json leads to a core 
> reload. This is very bad for performance. 
> Ideally , If I update/add/delete a component only that one component needs to 
> get reloaded.
> How to do this?
> Every component in  Solr should be able to implement an interface 
> {code:java}
> interface Reloadable {
> void reload(PluginInfo info);
> }
> {code}
> if the component implements this interface, any change to its configuration 
> will result in a callback to this method.
> if the component does not implement this interface, we should unload and the 
> component and call any close hooks registered from the inform() method . To 
> make this work, we will have to disable registering close hooks from anywhere 
> else. After unloading the component, a new one created with  the new 
> configuration 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to