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

ServiceContext::setKillAllOperations should be replaced with an operation that interrupts running operations

    • Type: Icon: New Feature New Feature
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.4.4, 3.5.6
    • Affects Version/s: None
    • Component/s: Internal Code
    • Labels:
    • Fully Compatible
    • v3.4
    • Sharding 2017-04-17
    • 0

      During shutdown, mongod and mongos call ServiceContext::setKillAllOperations to prevent new operations from meaningfully starting, and to interrupt existing running operations. Unfortunately, the latter class of operation may not be interrupted if they're blocked in an interruptible condition variable wait because setKillAllOperations does not wake such threads.

      ServiceContext::setKillAllOperations should be replaced with a behavior that more aggressively prevents the creation of new OperationContexts (say by throwing in their constructor) as well as sending kill messages to running operations.

            Assignee:
            kaloian.manassiev@mongodb.com Kaloian Manassiev
            Reporter:
            schwerin@mongodb.com Andy Schwerin
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: