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

AsyncOp cancellation is racy w.r.t. generation increment in NetworkInterfaceASIO

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major - P3 Major - P3
    • 3.1.9
    • None
    • Networking
    • None
    • Fully Compatible
    • ALL
    • Hide

      run sharding/find_getmore_cmd.js in a loop

      Show
      run sharding/find_getmore_cmd.js in a loop
    • Platform A (10/09/15)
    • 0

    Description

      We bump the generation count in _completeOperation before resetting the state of the AsyncOp, and before removing the op from _inProgress. As a result a cancel can be scheduled after the generation is bumped, but before the op is released to the pool. Under certain (nondeterministic) timing conditions this can result in spurious cancellation if another command is immediately scheduled and gets the same AsyncOp from the ConnectionPool.

      Attachments

        Activity

          People

            adam.midvidy Adam Midvidy
            adam.midvidy Adam Midvidy
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: