Ensure retried commitTransaction command waits for writeConcern

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 4.0.0-rc3, 4.1.1
    • Affects Version/s: None
    • Component/s: Replication
    • None
    • Fully Compatible
    • ALL
    • Repl 2018-06-18
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      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.

            Assignee:
            Judah Schvimer
            Reporter:
            Spencer Brody (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: