-
Type: Spec Change
-
Resolution: Unresolved
-
Priority: Minor - P4
-
None
-
Component/s: Connection String
-
None
-
Needed
-
Summary
Some drivers(Node, .NET/C#) currently permit omitting the delimiting slash which separates the hosts and options, but the spec contains tests and language that imply that this slash is required. Making these drivers spec compliant would be a breaking change for many users as it would also make connection strings incompatible with standard URL syntax.
This change would loosen the spec to make the delimiting slash optional.
Motivation
Who is the affected end user?
Driver users, Driver Engineers
How does this affect the end user?
Would guarantee that, regardless of driver, connection strings in URL format will always work as expected.
How likely is it that this problem or use case will occur?
Somewhat likely as it is common practice in URLs to omit the trailing slash when providing options
If the problem does occur, what are the consequences and how severe are they?
Minor annoyance
Is this issue urgent?
No
Is this ticket required by a downstream team?
Needed by e.g. Atlas, Shell, Compass?
Is this ticket only for tests?
No, this ticket will require a change to the langauge in the Host Information section of the Connection String spec, changing it from.
Unlike a standard URI, the connection string allows for identifying multiple hosts. The host information section of the connection string is delimited by the trailing slash ("/") or end of string.
to
Unlike a standard URI, the connection string allows for identifying multiple hosts. The host information section of the connection string MAY be delimited by the trailing slash ("/") or end of string.
Acceptance Criteria
- Update spec language as mentioned above
- Move this invalid uri spec test to be a valid uri
Driver changes
- Drivers will need to sync their connection string spec tests and address any failures that the updated test/s will cause
- related to
-
NODE-3919 Add validation when missing delimiting slash between hosts and options
- Closed
- split to
-
PHPC-2294 Make delimiting slash between hosts and options in connection string optional
- Closed
-
CXX-2756 Connection String: make delimiting slash between hosts and options optional
- Backlog
-
GODRIVER-2991 Connection String: make delimiting slash between hosts and options optional
- Backlog
-
RUST-1765 Connection String: make delimiting slash between hosts and options optional
- Backlog
-
CDRIVER-4726 Connection String: make delimiting slash between hosts and options optional
- Closed
-
CSHARP-4792 Connection String: make delimiting slash between hosts and options optional
- Closed
-
JAVA-5166 Connection String: make delimiting slash between hosts and options optional
- Closed
-
MOTOR-1190 Connection String: make delimiting slash between hosts and options optional
- Closed
-
NODE-5643 Sync Connection String spec tests
- Closed
-
PYTHON-3962 Connection String: make delimiting slash between hosts and options optional
- Closed
-
RUBY-3329 Connection String: make delimiting slash between hosts and options optional
- Closed