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

Single node replica sets should not use the oplogTruncateAfterPoint on startup recovery

    • Type: Icon: Task Task
    • Resolution: Won't Do
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Storage
    • Labels:
      None
    • Execution Team 2020-01-27, Execution Team 2020-02-10, Execution Team 2020-02-24

      There is no need for a single node replica set to truncate oplog holes on startup because they cannot have oplog holes. A single node replica set member is always primary, so batch application behavior is irrelevant. The Replicate Before Journaling project will add primary mode behavior around tracking oplog holes, but again, since there are no nodes replicating from the node, parallel writes on the primary can never become out of sync with secondary nodes.

      This is prep work before the Replicate Before Journaling functional changes go in, to break up the changes.

      Notes:
      replCoord->getConfig().getNumMembers() should get the number of replica set members
      replSetReconfig makes it hard to correctly control when to write or not write the truncate point as primary. Not writing the truncate point as a 1-node-replset primary appears to have better performance, but will be attempted at a later time.

            Assignee:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Reporter:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: