Avoid advancing vector clock twice in primary write path

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Major - P3
    • 7.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • Execution Team 2023-05-29
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      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.

            Assignee:
            Louis Williams
            Reporter:
            Louis Williams
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: