Ishan,

> > Using a string separate from the role definitions (Ishan) makes it too easy 
> > to have roles for which the default configuration is unknown.
>
> Ilan, can you please elaborate (perhaps with an example) as to what you mean 
> here?

If the default string for all roles for nodes with no roles configured
got customized in a specific cluster (say it got changed to "data:on,
overseer:disallowed"), when a new version of Solr with a new role gets
deployed, that new role will not have a default defined in the string,
which might not be the intent (if the new role for example is "ui" and
the default expected to be "on", "ui" not being defined in the string
makes the default likely be "off" - more about that default below).

> As per my proposal, a node that was started with explicit roles, but without 
> a particular role defined for it will have no functionality associated with 
> that role running on it at any point in its lifetime. For example if a node 
> was started with "-Dnodes.roles=data:on" will never have anything to do with 
> overseer functionality. There is no concept of defaults in that case.

That's the point. The code dealing with the overseer role will have to
make different decisions based on the role being "on" or "off", or if
we go with parameters, the role being "allowed", "disallowed",
"preferred".

When you say "will never have anything to do with overseer
functionality" what does that mean when roles are defined but not the
overseer role? I assume that should mean that for this node, overseer
is "disallowed" (or pick any other value of the 3 possible ones).
Therefore, there is a default when the role is not defined (and other
roles are defined). If  "will never have anything to do with overseer
functionality" is an option different from the 3 other ones, then we
end up with 4 different overseer related configuration options (but I
think it's better to be able to explicitly specify all configuration
options).

So that's my point. A per role default for when a role is not defined.
And if we have this for all roles, this is the node default roles
config when no roles are defined at all. When introducing role "ui"
with a role default of "on", then all existing nodes that do not
specify a configuration for this role (regardless of if they specify a
configuration for other roles) get the sound default.

Ilan

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

Reply via email to