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

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

    • Type: Icon: Bug Bug
    • Resolution: Works as Designed
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • ALL
    • Service Arch 2022-09-19, Service Arch 2022-10-03, Service Arch 2022-10-17
    • 151

      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.

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

              Created:
              Updated:
              Resolved: