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