[ 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