Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-1619

Provide informative handshake error message when Versioned API requested from downlevel server

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Component/s: Stable API
    • None
    • Needed
    • Hide

      Summary of necessary driver changes

      •  

      Commits for syncing spec/prose tests
      (and/or refer to an existing language POC if needed)

      •  

      Context for other referenced/linked tickets

      •  
      Show
      Summary of necessary driver changes   Commits for syncing spec/prose tests (and/or refer to an existing language POC if needed)   Context for other referenced/linked tickets  
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-3975 Execution Blocked
      CXX-2241 Execution Blocked
      CSHARP-3636 Execution Blocked
      GODRIVER-1988 Execution Blocked
      JAVA-4129 Execution Blocked
      NODE-3250 Execution Blocked
      MOTOR-722 Duplicate
      PYTHON-2685 Execution Blocked
      PHPC-1824 Execution Blocked
      RUBY-2594 Execution Blocked
      RUST-769 Execution Blocked
      SWIFT-1193 Won't Do
      $i18n.getText("admin.common.words.show")
      #scriptField, #scriptField *{ border: 1px solid black; } #scriptField{ border-collapse: collapse; } #scriptField td { text-align: center; /* Center-align text in table cells */ } #scriptField td.key { text-align: left; /* Left-align text in the Key column */ } #scriptField a { text-decoration: none; /* Remove underlines from links */ border: none; /* Remove border from links */ } /* Add green background color to cells with FixVersion */ #scriptField td.hasFixVersion { background-color: #00FF00; /* Green color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-3975 Execution Blocked CXX-2241 Execution Blocked CSHARP-3636 Execution Blocked GODRIVER-1988 Execution Blocked JAVA-4129 Execution Blocked NODE-3250 Execution Blocked MOTOR-722 Duplicate PYTHON-2685 Execution Blocked PHPC-1824 Execution Blocked RUBY-2594 Execution Blocked RUST-769 Execution Blocked SWIFT-1193 Won't Do

      If Versioned API is requested by the client, the driver will use the hello command for both initial handshake and heartbeats becuase only hello is included in API version 1, not isMaster. Downlevel versions of MongoDB will respond with no such command: 'hello', which doesn't immediately indicate to users that they're requesting Versioned API from a server that doesn't support it.

      If a driver requests Versioned API and the initial handshake fails, we should provide a helpful error message that includes the text "Ensure that your server supports Versioned API."

            Assignee:
            Unassigned Unassigned
            Reporter:
            james.kovacs@mongodb.com James Kovacs
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated: