Uploaded image for project: 'Documentation'
  1. Documentation
  2. DOCS-14251

Investigate changes in SERVER-54278: Add feature flag to disable Opportunistic Reads by default

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.2.13
    • Component/s: manual, Server
    • Labels:
      None
    • Last comment by Customer:
      true
    • Story Points:
      2
    • Sprint:
      ServerDocs2020: Feb23 - Mar2

      Description

      Description

      Downstream Change Summary

      This ticket disables opportunistic read targeting by default, and introduces a new server parameter, "opportunisticSecondaryTargeting", to enable this feature.

      Description of Linked Ticket

      Opportunistic reads against replica-sets was originally introduced in v4.2 as part of PM-856. This feature allows mongos to direct secondary reads to any secondary with an active connection, instead of waiting for a new connection to a specific secondary.

      Under certain workloads, as described in SERVER-53853, opportunistic reads may trigger construction of unnecessary connections to mongod processes, which would regress the overall performance.

      This ticket should introduce a new feature flag to disable opportunistic reads in v4.2 by default. In particular, the following tickets from PM-856 introduce new functionality that we might want to guard with the feature flag: SERVER-41132, SERVER-41133, and SERVER-41134.

      We may wan to approach this ticket from this for loop, introduced by SERVER-41133 (see excerpt below).

      // Attempt to get a connection to every target host
      for (size_t idx = 0; idx < request.target.size() && !cmdState->finishLine.isReady(); ++idx) {
          auto connFuture = _pool->get(request.target[idx], request.sslMode, request.timeout);
          ...
      }
      

      Scope of changes

      Impact to Other Docs

      MVP (Work and Date)

      Resources (Scope or Design Docs, Invision, etc.)

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              andrew.feierabend Andrew Feierabend
              Reporter:
              backlog-server-pm Backlog - Core Eng Program Management Team
              Participants:
              Last commenter:
              Githook User Githook User
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Due:
                Created:
                Updated:
                Resolved:
                Days since reply:
                4 weeks, 4 days ago
                Date of 1st Reply:

                    PagerDuty