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

replSetStepDown without force argument will fail if secondaries are behind and there is any write load

    • ALL

      Because the lock manager assigns locks to operations in FIFO order, if a write comes in after replSetStepDown acquires the global lock in MODE_S, but before any secondary has caught up to the head of the oplog, secondaries' attempts to read the oplog will block behind the write's attempt to get the global lock in MODE_IX. Since replSetStepDown took the global lock in MODE_S exactly to block writes, we need some way to indicate to the lock manager that it should continue to grant compatible lock requests, effectively letting reads cut ahead of the blocked writes.

            Assignee:
            matt.dannenberg Matt Dannenberg
            Reporter:
            schwerin@mongodb.com Andy Schwerin
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: