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 >