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

Ilan Ginzburg commented on SOLR-14977:
--------------------------------------

Placement plugin config (names, types and values) are decided by the plugin 
writer, so can't be hard coded in a Solr class.

A plugin might use configuration named {{myfirstString}}, {{aLong}}, 
{{aDoubleConfig}} and {{shouldIStay}} (poor name choices if you ask me).
 A more realistic plugin would go for {{minimalFreeDiskGB}} and 
{{deprioritizedFreeDiskGB}} (see 
[SamplePluginAffinityReplicaPlacement|https://github.com/apache/lucene-solr/blob/master/solr/core/src/java/org/apache/solr/cluster/placement/plugins/SamplePluginAffinityReplicaPlacement.java#L86]).

> 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
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Plugin system
>            Reporter: Andrzej Bialecki
>            Priority: Major
>         Attachments: SOLR-14977.patch
>
>
> 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.3.4#803005)

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

Reply via email to