Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-96259

Proposal to modify resync procedure for safe node voting

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Replication

      The resync procedure recommends dropping everything from the dbpath. However, this also means that we would lose the lastVote document, which could result in the node revoting in a term it has already voted in during the syncing process.

      We should explore the most feasible way to modify the resync procedure safely. There are two options:

      1. Preserve the lastVote document from the local database after clearing the dbpath, similar to what we do for FCBIS (SERVER-69861).
      2. Use reconfig to first remove the node to be resynced, then clear the dbpath, and finally add it back. This approach would leverage the Initial Sync Semantics project, which prevents newly added nodes from voting (SPM-1096), (we need to prove this approach is safe, see SERVER-48257).

      Since this method is widely used for initial syncs, we should consult with TSEs and the Production team to evaluate the procedure.

      To move forward, we need to:

      1. Propose a new procedure.
      2. Discuss the procedure with TSEs and Production for evaluation.
      3. Test the new procedure and show its correctness.
      4. Obtain approval from stakeholders.
      5. File documentation tickets.

            Assignee:
            Unassigned Unassigned
            Reporter:
            m.maher@mongodb.com Moustafa Maher
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: