Uploaded image for project: 'MongoDB Database Tools'
  1. MongoDB Database Tools
  2. TOOLS-3669

Investigate changes in SPM-3750: Remove Hedged Reads and Refactor NetworkInterfaceTL

    • Type: Icon: Investigation Investigation
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Tools and Replicator
    • 2

      Original Downstream Change Summary

      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

      Epic Summary

      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

      Product Description
      Scope
      Technical Design
      Docs Update

            Assignee:
            Unassigned Unassigned
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: