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

GlobalLockAcquisitionTracker::getGlobalWriteLocked should return true if the OperationContext it decorates ever held a global write lock

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.1.11
    • Component/s: Replication
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Sprint:
      Repl 2019-04-22
    • Linked BF Score:
      23

      Description

      This would ensure two things that are not true today:

      1) A command that unstashed locks held by a transaction waits for writeConcern of the system last OpTime. Today, because the locks are stashed before waiting for writeConcern, the command may end up waiting for an OpTime in a previous term.

      2) Stepdown will kill a command that is waiting for writeConcern after having unstashed and stashed a transaction's locks. The command may be waiting for writeConcern even though it did not do a write, because its Client's last OpTime was set to the system last OpTime.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              judah.schvimer Judah Schvimer
              Reporter:
              esha.maharishi Esha Maharishi
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: