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

Timeout passed to ReplicaSetMonitor::getHostOrRefresh() is ignored by inner Refresher::_refreshUntilMatches() which spins forever

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Major - P3 Major - P3
    • None
    • 4.0.24
    • None
    • None
    • Sharding NYC
    • ALL

    Description

      There are many code paths that invoke

         StatusWith<HostAndPort> getHostOrRefresh(const ReadPreferenceSetting& readPref,
                                                   Milliseconds maxWait = kDefaultFindHostTimeout);
      

      here. The default value is 15 seconds.

      The timeout is not passed down to `refresher.refreshUntilMatches(criteria)` 20 lines lower. Essentially it is coded to spin forever here.

      Attachments

        Activity

          People

            backlog-server-sharding-nyc [DO NOT USE] Backlog - Sharding NYC
            andrew.shuvalov@mongodb.com Andrew Shuvalov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: