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

AsyncResultsMerger replica set retargeting may block the ASIO callback threads

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

      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.

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