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

Avoid advancing vector clock twice in primary write path

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 7.1.0-rc0
    • None
    • None
    • None
    • Fully Compatible
    • Execution Team 2023-05-29

    Description

      We advance the VectorClock twice in the primary write path, which requires taking the hot _newOpMutex and the VectorClock's mutex.

      On the primary, we advance the VectorClock initially when we allocate our optimes. We advance the VectorClock again in the onCommit handler that runs after the write commits. This is done through the call to ReplicationCoordinatorExternalState::setGlobalTimestamp and setNewTimestamp.

      Attachments

        Activity

          People

            louis.williams@mongodb.com Louis Williams
            louis.williams@mongodb.com Louis Williams
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: