Andrzej Bialecki created SOLR-15131:
---------------------------------------
Summary: Use collection properties for per-collection
configuration of placement plugins
Key: SOLR-15131
URL: https://issues.apache.org/jira/browse/SOLR-15131
Project: Solr
Issue Type: Improvement
Security Level: Public (Default Security Level. Issues are Public)
Reporter: Andrzej Bialecki
Assignee: Andrzej Bialecki
SOLR-15055 and SOLR-15130 implement per-collection behavior in the placement
plugins.
In SOLR-15055 I decided to put this configuration in the plugin config itself,
using a {{withCollection}} property. The advantage of this approach is that no
other place in the code base knows about this configuration except for the
plugin itself.
However, there are some disadvantages to it as well:
* when collection is deleted it leaves the dangling bit of config in the
placement plugin config (an entry in {{withCollection}} that no longer refers
to any existing collection)
* what's worse, when a new collection is created that uses the same name the
old config suddenly is applicable to the new collection, which is something the
user may not expected nor wanted.
* the configuration of the plugin becomes more complicated if there are many
per-collection entries.
The alternative approach is to keep these per-collection configuration bits in
the collection itself, using collection properties. The advantages are:
* plugin configuration becomes very simple
* when a collection is deleted the corresponding placement config parts are
deleted too (similarly as the "policy" property in 8x)
The disadvantages of this approach are:
* collection configuration exposes bits of the plugin configuration
* when the placement plugin is changed (eg. a different one is configured) the
old pieces of config still remain in the collection properties and may
interfere with the new plugin config.
I'm open to suggestions which way is the "more proper" way to address this
issue.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]