Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
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
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){} }
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
Attachments
Issue Links
- is duplicated by
-
SOLR-8699 Components in solrconfig.xml must be reloadable
- Resolved