Ilan,
I missed addressing one aspect in your mail.

On Mon, Dec 6, 2021 at 8:37 PM Ilan Ginzburg <[email protected]> wrote:

> 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"),


A user won't be able to "customize" that default string. It can happen
after a Solr upgrade (where the new Solr version can introduce a new
default string).



> 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: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to