On Tue, Jul 18, 2023 at 02:38:26AM -0700, Han Zhou wrote:
> When a server becomes unstable due to system overloading or intermittent
> partitioning, it may miss some heartbeats and then starts election with
> a new term, which would disrupt the otherwise healthy cluster formed by
> the rest of the healthy nodes.  Such situation may exist for a long time
> until the "flapping" server is shutdown or recovered completely, which
> can severely impact the availability of the cluster. The pre-vote
> mechanism introduced in the raft paper section 9.6 can prevent such
> problems. This patch implements the pre-vote mechanism.
> 
> Note: during the upgrade, since the old version doesn't recognize the
> new optional field in the vote rpc (and the ovsdb_parse_finish validates
> that all fields in the jsonrpc are parsed), an error log may be noticed
> on old nodes if an upgraded node happens to become candidate first and
> vote for itself, and the vote request will be discarded. If this happens
> before enough nodes complete the upgrade, the vote from the upgraded
> node may not reach the quorum. This results in re-election, and any old
> nodes should be able to vote and get elected as leader. So, in unlucky
> cases there can be more leader elections happening during the upgrade.
> 
> Signed-off-by: Han Zhou <[email protected]>

Reviewed-by: Simon Horman <[email protected]>

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to