Details
-
Type:
Task
-
Status: Closed
-
Priority:
Major - P3
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 4.2.13
-
Labels:None
-
Last comment by Customer:true
-
Story Points:2
-
Epic Link:
-
Sprint:ServerDocs2020: Feb23 - Mar2
Description
Description
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
- documents
-
SERVER-54278 Add feature flag to disable Opportunistic Reads by default
-
- Closed
-