Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-68197

Expose socket option setting failure diagnostics in more cases

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Service Arch
    • Fully Compatible
    • v8.0
    • Service Arch 2024-05-13
    • 3

      We instrumented better socket option setting diagnostics in May 2021. These diagnostics however are only seen with a debug verbosity of 3 or higher. This means that they don't get shown on any of our Evergreen testing variants, since none of them expose networking logs at that high of a level.

      There are a few different solutions we could try:

      Always expose expanded socket option setting diagnostics in exceptions passed up from the networking layer.

      • Pro: Socket option failures seen in customer cases will have more verbose diagnostics, allowing us to connect more easily customer failures to existing cases.
      • Con: Each socket failure that will ever be logged will receive an addition 20-30 characters. We may be exposing extraneous and confusing information to customers.
      • Amount of change: Medium

      Always log socket failures in kDebugMode (aka building with debug mode) in addition to existing logging logic

      • Pro: Allows us to see socket option failure information in testing.
      • Con: Doesn't assist with customer cases.
      • Amount of change: Low

      Lower the logging threshold to verbosity level 2, allowing logs to be caught in some testing suites that set networking logs to that verbosity.

      • Pro: Allows us to see socket option failure information in testing.
      • Con: Doesn't assist with customer cases. Can be inconsistent and reliable on the not-always-guaranteed constraint of testing suites that have a heightened networking verbosity level.
      • Amount of change: Low

      I'm leaning towards the second solution, as it changes behavior in debug mode only, and allows us the most reliable path to diagnosing further issues.

            Assignee:
            ryan.berryhill@mongodb.com Ryan Berryhill
            Reporter:
            blake.oler@mongodb.com Blake Oler
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: