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

Base cloner must not hold locks when fulfilling promise

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.3.1
    • Affects Version/s: None
    • Component/s: Replication
    • Labels:
      None
    • Fully Compatible
    • ALL
    • Repl 2019-11-04
    • 0

      When a Promise is fulfilled (either by completion or error), the callback may run immediately on the same thread as the Promise owner. This means that no locks may be held when fulfilling a Promise (or the callback must be aware of any locks held, but that's ugly). BaseCloner violates this when setting an error status; the Promise::setError call should be moved out of the lock scope.

            Assignee:
            matthew.russotto@mongodb.com Matthew Russotto
            Reporter:
            matthew.russotto@mongodb.com Matthew Russotto
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: