Uploaded image for project: 'Ratis'
  1. Ratis
  2. RATIS-1731 Add more documentations
  3. RATIS-1949

Add transfer leadership section in developer's guide

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • documentation
    • 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:

      1. 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
      2. 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):

      1. Terminology difference (TimeoutNow is replaced with startLeaderElection)
      2. Description of passive and active approach
      3. How developers can implement integrate transfer leadership in their system
        1. Example use cases (e.g. Ozone and Alluxio)

      Attachments

        Activity

          People

            ivanandika Ivan Andika
            ivanandika Ivan Andika
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: