> It's fine if we don't provide any ability for runtime modification of
roles at this time but I'm leery of precluding it in the future.

In future, the necessity for such a facility can dictate our course of
action. We cannot lay down rules cast in stone for functionality that we
can't foresee yet.

On Thu, Nov 18, 2021 at 9:40 PM Ishan Chattopadhyaya <
ichattopadhy...@gmail.com> wrote:

> Thanks Jan, I added both those points to the SIP document in the Notes
> section.
>
> On Thu, Nov 18, 2021 at 7:18 PM Jan Høydahl <jan....@cominvent.com> wrote:
>
>> 18. nov. 2021 kl. 01:43 skrev Gus Heck <gus.h...@gmail.com>:
>>
>>
>> 2) Roles will not be checked by loading config from disk or caching disk
>> config in memory. (zk ONLY source of truth)
>>
>>
>> It sounds a bit backward for a local node to first parse solr.node.roles,
>> determine its local set of roles, then publish them to Zookeeper, and then
>> read back its own roles from ZK.
>> Code that only needs to determine "Do I have the XXX role?" or find out
>> "What roles do I have" should be able to fetch the (static) roles from some
>> roles utility class without consulting ZK.
>> Code that needs to check what nodes have a certain role (such as
>> placement) would obviously need ot consult ZK.
>>
>> Perhaps the SIP should also state some *Non-goals* or assertions such as
>> * Roles are static and immutable (also in zk) for the entire life cycle
>> of a node
>>
>> I also think we should state that the bar for adding new roles should be
>> high so it is not abused as any other tag or label for any tiny feature. It
>> should be reserved for functionality that may benefit from a dedicated set
>> of nodes. That may be clear already, but you never know...
>>
>> Jan
>>
>

Reply via email to