Skip to main content

Priority election

Priority election is an alternative to the default raft leader election, where leader election is implemented by a random timer-based algorithm.

It aims to achieve a more uniform leader distribution by assigning each node a priority per partition and modifying the election algorithm to ensure nodes with higher priority have a higher chance of becoming leader.

Configuration​

Enable priority election by setting zeebe.broker.raft.enablePriorityElection = "true" in your config or by setting the equivalent environment variable ZEEBE_BROKER_RAFT_ENABLEPRIORITYELECTION="true".

If you are using the fixed partitioning scheme (experimental), you may need additional configuration.

Limitations​

With priority election enabled, election latency and thus failover time increases.

The result of leader election is not deterministic and priority election can only increase the chance of having a uniform leader distribution, not guarantee it.

Factors such as high load can prevent high priority nodes from becoming the leader.