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

Base cloner must not hold locks when fulfilling promise

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.3.1
    • None
    • Replication
    • None
    • Fully Compatible
    • ALL
    • Repl 2019-11-04
    • 0

    Description

      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.

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: