lucene-solr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hoss Man (JIRA)" <>
Subject [jira] Commented: (SOLR-1307) Provide a standard way to reload plugins
Date Tue, 28 Jul 2009 19:24:14 GMT


Hoss Man commented on SOLR-1307:

this could be very hairy depending on what you mean by "reload"

when we talk about reloading cores, what happens is we instantiate a new core, then replace
refrences to the old core with refrences to the new core.

attempting to do something similar with each and every type of plugin seems like it could
get incredibly tedious to deal with the synchronization issues.

what seems like it might make the most sense for the common case is to have helper code available
to make it easier for plugins to do their own internal reloading (ie: instead of constructing
a new instance of SynonymFIlterFactory, we make it easy for an instance of SynomymFilterFactory
to reload it's own synonym text file).  going this route means that only the classes that
*want* to be reloadable need to worry about the synchronization costs associated with doing
so (ie: StopWorkFilterFactory can put synchronization on some getStopWordSet() method it uses
when constructing each StopFilter instance)

This is actually something that's already possible now: any plugin can spin up a TimerTask
to reload things in a background thread, SolrCoreAware plugins can programaticly register
newSearcher listeners to make callbacks, etc...   We probably just want to provide helper
code to make this easier for people, and add the functionality to some of the obvious choices
in the plugins that ship with Solr along with options to enable it (you might want a query
analyzer instance of SynonymFilterFactory to md5/reload the synonyms file on every commit,
but an index analyzer instance of SYnonymFilterFactory probably shouldn't)

> Provide a standard way to reload plugins
> ----------------------------------------
>                 Key: SOLR-1307
>                 URL:
>             Project: Solr
>          Issue Type: New Feature
>          Components: search, update
>            Reporter: Shalin Shekhar Mangar
>             Fix For: 1.5
> Currently, Solr plugins have no standard way to reload themselves. Each plugin invents
its own mechanism e.g. SpellCheckComponent. For others, even small changes to configuration
files are visible only after a core reload. Examples include changing elevate.xml, stopwords.txt
> We should provide a standard way for plugins to reload themselves on events relevant
to them.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message