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

Ensure retried commitTransaction command waits for writeConcern

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.0.0-rc3, 4.1.1
    • None
    • Replication
    • None
    • Fully Compatible
    • ALL
    • Repl 2018-06-18

    Description

      If a commitTransaction command is successful but times out waiting for replication, or the response to the driver is lost, the driver may retry the commitTransaction command. In that case, the retried commitTransaction command will not do any writes, thus it will not advance the lastOpTime on the Client, nor will it take the Global lock at all to trigger the GlobalLockAcquisitionTracker. On commitTransaction retries we should call ReplClientInfo::setLastOpToSystemLastOpTime, to ensure that we wait for write concern appropriately.

      Attachments

        Activity

          People

            judah.schvimer@mongodb.com Judah Schvimer
            spencer@mongodb.com Spencer Brody (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: