-
Type:
Investigation
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Developer Tools
It will no longer be possible to hedge reads, and any hedging options specified in read preferences will be ignored by the server. The server will periodically log a message indicating hedging options are being ignored if a request does include them. It will not be an error to specify hedging options, though.
The readHedgingMode, maxTimeMSForHedgedReads, and opportunisticSecondaryTargeting server parameters will also no longer have any effect.
Hedging-related metrics will no longer be reported in serverStatus.
Description of Linked Ticket
Summary
Refactor and improve the correctness and readability of NetworkInterfaceTL.
Motivation
The NetworkInterfaceTL is the code that helps facilitate egress networking for mongos/mongod. The code is very fragile and hard to reason about. Many BFs (eg. SERVER-72055, SERVER-79855, SERVER-65329) and HELP (eg. HELP-56874, HELP-48617, HELP-22857) tickets have been created due to the bugs stemming from NetworkInterfaceTL. Server fixes also take long to develop and review, and are daunting for even the experienced engineers on the team. Refactoring this code to be unit-testable, and cleaning up the interface will help the future development efforts of our egress networking path (notably gRPC for Egress Connections PM-2960) and increase our confidence in the correctness story.
Documentation
- depends on
-
DRIVERS-2929 Deprecate Hedged Reads option
-
- Backlog
-