> 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 >> >