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

Improve diagnostic information in currentOp for excessive write conflicts and prepare conflicts

    • Type: Icon: Question Question
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.1.11
    • Affects Version/s: None
    • Component/s: Concurrency, Storage
    • None
    • Fully Compatible
    • Storage NYC 2019-04-08, Storage NYC 2019-04-22

      Currently, when a non-transactional write conflicts with an active transaction, that write may keep retrying thousands of times until the transaction finally commits or aborts. This situation is hard to diagnose, because currentOp doesn't show that the active non-transactional writes have occurred so many retries.

      Changes made by this ticket:
      The top-level fields 'writeConflicts' and 'prepareReadConflicts' are now present in the currentOp() output.

      The number of write conflicts represents the number of times a write attempt conflicted with another operation on the same document.

      The number of prepare conflicts represents the number of times the operation blocked waiting for a write by a prepared transaction to commit or abort. An operation blocked on prepare conflicts holds both locks and storage engine resources while waiting.

            Assignee:
            louis.williams@mongodb.com Louis Williams
            Reporter:
            geert.bosch@mongodb.com Geert Bosch
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: