THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
There will just one supported way to use the roles functionality:
Startup parameters
Examples:
...
-Dsolr.node.roles=
...
<comma separated list of roles>
Examples:
- Preferred overseer node with no data (dedicated overseer):
-Dsolr.node.roles=overseer - Preferred overseer with data:
-Dsolr.node.roles=overseer,data - Coordinator node (preview for upcoming feature):
-Dsolr.node.roles=coordinator
...
1) Roles will be checked in publicly published configuration (i.e. roles API, ZKzk), and a watches watch can be set to detect any change , if required.
2) Roles will not be checked by loading config from disk (except for sysprops in bin/solr.in.sh). . (ZK ONLY source of truth.)
Other notes
- Every time a node starts up with specified roles, the node assumes it is the correct role for that node and publishes those roles in ZK after successful startup.
- If a node is started with a -Dsolr.node.roles parameter that doesn't have a data role, but it already has data hosting replicas on it, the startup fails with an error (and a hint indicating how to move replicas away from this replica).
- If a coordinator node is started with "data" role also, it fails to startup with a message indicating a node cannot both be coordinator and data node.
...