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

AsyncResultsMerger replica set retargeting may block the ASIO callback threads

    XMLWordPrintableJSON

Details

    • Fully Compatible
    • ALL
    • Sharding 2016-11-21

    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

              randolph@mongodb.com Randolph Tan
              kaloian.manassiev@mongodb.com Kaloian Manassiev
              Votes:
              0 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: