[ 
https://issues.apache.org/jira/browse/SOLR-9577?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Noble Paul updated SOLR-9577:
-----------------------------
    Description: 
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 {
/** When the configuration of this component is changed the core invokes this 
method, with the new configuration
*/
void reload(PluginInfo info);

/** After a reload() is called on any component in that core , this is invoked
*/
default void postConfigChange(SolrCore core){}
}
{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 

  was:
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 


> 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 {
> /** When the configuration of this component is changed the core invokes this 
> method, with the new configuration
> */
> void reload(PluginInfo info);
> /** After a reload() is called on any component in that core , this is invoked
> */
> default void postConfigChange(SolrCore core){}
> }
> {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