[DRIVERS-422] Improve server compatibility error messages for wire version checks Created: 10/Nov/17  Updated: 28/Oct/23  Resolved: 14/Mar/18

Status: Closed
Project: Drivers
Component/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Rathi Gnanasekaran Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on RUST-41 Improve server compatibility error me... Closed
depends on CDRIVER-2362 Improve server compatibility error me... Closed
depends on CSHARP-2093 Improve server compatibility error me... Closed
depends on CXX-1470 Improve server compatibility error me... Closed
depends on GODRIVER-126 Improve server compatibility error me... Closed
depends on NODE-1186 Improve server compatibility error me... Closed
depends on PHPC-1035 Improve server compatibility error me... Closed
depends on PYTHON-1409 Improve server compatibility error me... Closed
depends on RUBY-1254 Improve server compatibility error me... Closed
depends on JAVA-2660 Improve server compatibility error me... Closed
is depended on by DRIVERS-407 Drop support for MongoDB 2.4 Closed
Driver Compliance:
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

 Description   

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."



 Comments   
Comment by Bernie Hackett [ 10/Nov/17 ]

This should be done at the same time as, or before, DRIVERS-407.

Generated at Thu Feb 08 08:21:29 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.