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

    XMLWordPrintable

    Details

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              cheahuychou.mao Cheahuychou Mao
              Reporter:
              esha.maharishi Esha Maharishi
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: