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

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

    XMLWordPrintable

Details

    • New Feature
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 3.4.4, 3.5.6
    • Internal Code
    • Fully Compatible
    • v3.4
    • Sharding 2017-04-17
    • 0

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: