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

TaskRunner must ensure Client is initialized for thread before running tasks

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 3.4.16, 3.6.7, 4.0.2, 4.1.2
    • Fix Version/s: 3.4.18, 3.6.9, 4.0.4, 4.1.4
    • Component/s: Replication
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v4.0, v3.6, v3.4
    • Sprint:
      Repl 2018-09-24
    • Linked BF Score:
      46

      Description

      If TaskRunner::_runTasks() never runs the body of this loop (for example, due to a shutdown request), then it will never initialize the Client for the thread. Then, when it cancels tasks, it there will be no Client set on the thread. This means it will be illegal for the task to call Client::cc(). TaskRunner::_runTasks() should ensure the Client is initialized before running runSingleTask().

        Attachments

          Activity

            People

            Assignee:
            tess.avitabile Tess Avitabile
            Reporter:
            tess.avitabile Tess Avitabile
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: