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

AsyncResultsMerger replica set retargeting may block the ASIO callback threads

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Completed:
    • Sprint:
      Sharding 2016-11-21
    • Case:

      Description

      The AsyncResultsMerger performs retargeting on network or replication NotMaster errors, which occur during the initial cursor establishment.

      This retargeting is blocking and may happen on an ASIO callback thread and thus block it from processing other events, such as finishing connection establishment. This in turn can lead to connections unrelated to the request which triggered retargeting to become wrongly labeled as timed-out. The end effect of this is requests failing with an error of "ExceededTimeLimit: Operation timed out".

      What exacerbates this problem is that ASIO will throw out the entire pool for a host with timed-out connections, which will cause new connections to be opened.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                14 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: