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

David Smiley commented on SOLR-14977:
-------------------------------------

Odd that "NamedList" wasn't mentioned _at all _here.  Historically, I trust you 
all know that Solr's plugins are configured with a NamedList, ideally made 
configurable by implementing NamedListInitializedPlugin.  Are "Container 
Plugins" (I would prefer "node plugins" name) so special that NamedList 
can't/shouldn't be used?  I can't imagine.  Or was this an opportunity to do 
something different / better?  Probably that.  If we stop here (at Container 
Plugins), it's sad Solr's big codebase is fragmented in a new way where some 
odd things are configured oddly (arguably better but "odd" meaning different).  
This is a sweeping issue; I'll raise on the dev list in a minute but mentioning 
here notifies JIRA issue Watchers.

> Container plugins need a way to be configured
> ---------------------------------------------
>
>                 Key: SOLR-14977
>                 URL: https://issues.apache.org/jira/browse/SOLR-14977
>             Project: Solr
>          Issue Type: Improvement
>          Components: Plugin system
>            Reporter: Andrzej Bialecki
>            Assignee: Andrzej Bialecki
>            Priority: Major
>             Fix For: 9.0
>
>         Attachments: SOLR-14977.patch
>
>          Time Spent: 5h 20m
>  Remaining Estimate: 0h
>
> Container plugins are defined in {{/clusterprops.json:/plugin}} using a 
> simple {{PluginMeta}} bean. This is sufficient for implementations that don't 
> need any configuration except for the {{pathPrefix}} but insufficient for 
> anything else that needs more configuration parameters.
> An example would be a {{CollectionsRepairEventListener}} plugin proposed in 
> PR-1962, which needs parameters such as the list of collections, {{waitFor}}, 
> maximum operations allowed, etc. to properly function.
> This issue proposes to extend the {{PluginMeta}} bean to allow a 
> {{Map<String, Object>}} configuration parameters.
> There is an interface that we could potentially use ({{MapInitializedPlugin}} 
> but it works only with {{String}} values. This is not optimal because it 
> requires additional type-safety validation from the consumers. The existing 
> {{PluginInfo}} / {{PluginInfoInitialized}} interface is too complex for this 
> purpose.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to