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

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Won't Fix
    • Priority: Major - P3
    • None
    • Affects Version/s: 4.0.24
    • Component/s: None
    • None
    • Sharding NYC
    • ALL
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      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.

            Assignee:
            [DO NOT USE] Backlog - Sharding NYC
            Reporter:
            Andrew Shuvalov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: