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

Shalin Shekhar Mangar commented on SOLR-9577:
---------------------------------------------

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

If a component does not implement Reloadable then we should just reload the 
core as we do today. It is much safer. Over time, people will cut over their 
custom plugins to be Reloadable.

Close hooks are a problem with reload. 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. Let's introduce that and have Solr call them at the 
right time.

> 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to