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

Make the donor's dataSync function reserve an OpTime at which to do the "start blocking" write

    • Fully Compatible
    • Sharding 2020-07-13

      Having the blockTimestamp available in the state machine doc simplifies startup recovery, since it allows a node to simply scan all its donor state machine docs on startup to find out which databases it should block for and as of what timestamp.

      To actually put the blockTimestamp into the state machine doc when updating the state machine to "blocking", the donor must know the blockTimestamp ahead of time.

      To do this, the donor can reserve an OpTime for the write ahead of time using the OplogSlotReserver.

      This will probably require moving the OplogSlotReserver out of TransactionParticipant into its own file.

      The code review should have sign-off from judah.schvimer.

            Assignee:
            cheahuychou.mao@mongodb.com Cheahuychou Mao
            Reporter:
            esha.maharishi@mongodb.com Esha Maharishi (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: