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

Base cloner must not hold locks when fulfilling promise

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.3.1
    • Component/s: Replication
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Sprint:
      Repl 2019-11-04
    • Linked BF Score:
      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

            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: