Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
In Raft Dissertation, the Leader Transfer Extension (Section 3.10) specifies the transfer leadership process.
Ratis also supports transfer leadership in its work in RATIS-1247. However, Ratis transfer leadership differs to Raft dissertation transfer leadership in some aspects, mainly by its used of Raft peer priority for yielding leadership, to ensure that client availability is maintained.
Currently, there are two mechanisms for Ratis transfer leadership which are still supported:
- Passive approach (before
RATIS-1762): The prior leader passively waits to transfer leadership to Raft peer with higher priority in the leader's state periodic check - Active approach (after
RATIS-1762): The prior leader actively monitors the transferee's match index on every append entries reply, and send startLeaderElection when the transferee is up-to-date with the leader
This task will document these behaviors.
Topics to be covered (not exhaustive):
- Terminology difference (TimeoutNow is replaced with startLeaderElection)
- Description of passive and active approach
- How developers can implement integrate transfer leadership in their system
- Example use cases (e.g. Ozone and Alluxio)