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

InterruptedAtShutdown can be thrown without the operation context being marked as killed

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Works as Designed
    • None
    • None
    • None
    • None
    • ALL
    • Service Arch 2022-09-19, Service Arch 2022-10-03, Service Arch 2022-10-17
    • 151

    Description

      During shutdown, we first set the global kill flag and then mark each operation context as killed. In OperationContext::checkForInterruptNoAssert, we return InterruptedAtShutdown if the global kill flag is set. However, we do not mark the operation context as killed from here. This means that if an operation explicitly checks for interrupts and we get an interleaving where this occurs between the two steps in ServiceContext::setKillAllOperations, that operation will get an InterruptedAtShutdown exception with the operation context not (yet) marked as killed.

      Attachments

        Issue Links

          Activity

            People

              matt.diener@mongodb.com Matt Diener (Inactive)
              gregory.noma@mongodb.com Gregory Noma
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: