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

NonAuthTaskExecutor should mask "async" signals

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.1.11
    • Affects Version/s: 4.1.11
    • Component/s: None
    • Labels:
    • Fully Compatible
    • ALL
    • Service Arch 2019-05-20

      The NonAuthTaskExecutor thread is created as part of the ServiceContext creation, through the ConstructorActionRegisterer.

      We construct the service context here. However, we don't set up the signal masks or the signal processing thread until later (here).

      This means that the NonAuthTaskExecutor thread will not have the "async" signals masked off. This can prevent a clean shutdown when the server gets a SIGTERM, as the NonAuthTaskExecutor thread may be chosen to handle it instead of the signal processing thread.

      I think the best way to fix this would be to move the creation of NonAuthTaskExecutor to after the signal processing thread is created.

            mira.carey@mongodb.com Mira Carey
            ian.boros@mongodb.com Ian Boros
            0 Vote for this issue
            4 Start watching this issue