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

SessionWorkflow: yield before _receiveRequest

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 6.3.0-rc0
    • None
    • None
    • None
    • Fully Compatible
    • Service Arch 2023-02-06
    • 120

    Description

      1-line change to fix BF-27452, increased long tail latency.

      From associated code comment with this fix:

      +            // Yield here to avoid pinning the CPU. Give other threads some CPU
      +            // time to avoid a spiky latency distribution (BF-27452). Even if
      +            // this client can run continuously and receive another command
      +            // without blocking, we yield anyway. We WANT context switching, and
      +            // we're trying deliberately to make it happen, to reduce long tail
      +            // latency.
      +            _yieldPointReached();
                   _receiveRequest();
      

      Attachments

        1. image-2023-02-05-11-10-04-354.png
          image-2023-02-05-11-10-04-354.png
          71 kB
        2. image-2023-02-05-11-10-10-843.png
          image-2023-02-05-11-10-10-843.png
          71 kB
        3. newplot (4).png
          newplot (4).png
          73 kB
        4. screenshot-1.png
          screenshot-1.png
          263 kB

        Activity

          People

            billy.donahue@mongodb.com Billy Donahue
            billy.donahue@mongodb.com Billy Donahue
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: