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

Streams: fix deadlock in stopStreamProcessor call when there is a concurrent background error

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Minor - P4 Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: None
    • Atlas Streams
    • Fully Compatible
    • ALL
    • Sprint 31

      A deadlock can occur when a client calls stop while the Executor thread is handling an error and shutting down.

      Client thread calling stop: Has the StreamManager::_mutex. Calling into executor->stop. In Executor::stop, waiting on _executorThread.join().

      Executor thread: stuck in StreamManager::onExecutorError, can't acquire the mutex.

       

       

            Assignee:
            matthew.normyle@mongodb.com Matthew Normyle
            Reporter:
            matthew.normyle@mongodb.com Matthew Normyle
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: