[ https://issues.apache.org/jira/browse/SOLR-9577?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15535584#comment-15535584 ]
Shalin Shekhar Mangar commented on SOLR-9577: --------------------------------------------- bq. for example, a searchhandler instance refers to SearchComponents. Are there other such examples? Should SearchHandler be changed to deal with this better e.g. currently, it keeps a list of SearchComponents objects around but the actual SearchComponent instance is looked up from the SolrCore. {code} /** After a reload() is called on any component in that core , this is invoked */ default void postConfigChange(SolrCore core){} {code} This is too coarse? If we do this, maybe we can listen to changes on specific named components or by plugin class name? > 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org