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

Ensure retried commitTransaction command waits for writeConcern

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.0.0-rc3, 4.1.1
    • Component/s: Replication
    • Labels:
      None

      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

          Issue Links

            Activity

              People

              Assignee:
              judah.schvimer Judah Schvimer
              Reporter:
              spencer Spencer Brody
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: