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

Improve server compatibility error messages for wire version checks

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Component/s: None
    • Labels:
      None
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      PYTHON-1409 Fixed 3.6
      NODE-1186 Fixed 3.0.0
      SCALA-352 Works as Designed
      CSHARP-2093 Fixed 2.5
      PERL-816 Fixed 2.0.0
      RUBY-1254 Fixed 2.5.0
      JAVA-2660 Fixed 3.6.0
      CXX-1470 Fixed 3.2.0
      PHPC-1035 Fixed 1.4.0-beta1, 1.4.0
      GODRIVER-126 Fixed 0.0.1
      CDRIVER-2362 Fixed 1.9.0
      SWIFT-168 Won't Fix
      RUST-41 Done
      $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 PYTHON-1409 Fixed 3.6 NODE-1186 Fixed 3.0.0 SCALA-352 Works as Designed CSHARP-2093 Fixed 2.5 PERL-816 Fixed 2.0.0 RUBY-1254 Fixed 2.5.0 JAVA-2660 Fixed 3.6.0 CXX-1470 Fixed 3.2.0 PHPC-1035 Fixed 1.4.0-beta1, 1.4.0 GODRIVER-126 Fixed 0.0.1 CDRIVER-2362 Fixed 1.9.0 SWIFT-168 Won't Fix RUST-41 Done

      The SDAM spec defines an error message to use when wire version compatibility checks fail:

      "Server at $host:$port uses wire protocol versions $minWireVersion through
      $maxWireVersion, but $driverName $driverVersion only supports $clientMinWireVersion
      through $clientMaxWireVersion."
      

      After DRIVERS-407 we're likely to see a lot of commercial support questions complaining about applications not connecting and weird messages about wire version. To minimize the number of support tickets I think we should improve the messaging. There are two ways compatibility checks can fail. In one case we know the exact server version to report, in the other we don't. I suggest splitting the existing error message in two:

      "Server at $host:$port reports wire version $maxWireVersion, but this version
      of $driverName requires at least $clientMinWireVersion (MongoDB x.x)."
      

      and:

      "Server at $host:$port requires wire version $minWireVersion, but this version
      of $driverName only supports up to $clientMaxWireVersion."
      

            Assignee:
            Unassigned Unassigned
            Reporter:
            rathi.gnanasekaran Rathi Gnanasekaran
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: