Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

There will just one supported way to use the roles functionality:

Startup parameters

Examples:

...

-Dsolr.node.roles=

...

<comma separated list of roles>

Examples:

  1. Preferred overseer node with no data (dedicated overseer):
     
    -Dsolr.node.roles=overseer
  2. Preferred overseer with data:
    -Dsolr.node.roles=overseer,data
  3. 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.

...