[DRIVERS-2770] Need a spec test for the UNIX domain socket case sensitivity Created: 08/Nov/23  Updated: 08/Dec/23

Status: Implementing
Project: Drivers
Component/s: Connection String
Fix Version/s: None

Type: Improvement Priority: Unknown
Reporter: Qingyang Hu Assignee: Qingyang Hu
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Issue split
split to NODE-5753 Need a spec test for the UNIX domain ... Backlog
split to RUBY-3354 Need a spec test for the UNIX domain ... Backlog
split to CDRIVER-4783 Need a spec test for the UNIX domain ... Backlog
split to CSHARP-4844 Need a spec test for the UNIX domain ... Backlog
split to CXX-2791 Need a spec test for the UNIX domain ... Backlog
split to JAVA-5241 Need a spec test for the UNIX domain ... Backlog
split to RUST-1801 Need a spec test for the UNIX domain ... Backlog
split to GODRIVER-3050 Need a spec test for the UNIX domain ... Closed
split to MOTOR-1220 Need a spec test for the UNIX domain ... Closed
split to PHPLIB-1310 Need a spec test for the UNIX domain ... Closed
split to PYTHON-4046 Need a spec test for the UNIX domain ... Closed
Driver Changes: Needed
Downstream Changes Summary:

Summary of necessary driver changes

  • Added spec tests to ensure the UNIX socket name in the connection string is case-sensitive.

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

Context for other referenced/linked tickets

  •  
Engineering Lead: Steve Silvester Steve Silvester
Start date:
Driver Compliance:
Key Status/Resolution FixVersion
CDRIVER-4783 Backlog
CXX-2791 Backlog
CSHARP-4844 Backlog
GODRIVER-3050 Fixed 2.0.0
JAVA-5241 Backlog
NODE-5753 Backlog
MOTOR-1220 Duplicate
PYTHON-4046 Fixed 4.7
PHPLIB-1310 Won't Do
RUBY-3354 Backlog
RUST-1801 Backlog

 Description   

Summary

What is the problem or use case, what are we trying to achieve?

The current spec states Hostnames are normalized to lower-case. However, there does not exist a spec test for the case sensitivity of UNIX domain sockets. Being a file path on a UNIX-like file system, the socket name should be case-sensitive. Therefore, we need a spec test in, for example, https://github.com/mongodb/specifications/blob/master/source/connection-string/tests

Motivation

Who is the affected end user?

Who are the stakeholders?

Customers who use the connection over a UNIX socket.

How does this affect the end user?

Are they blocked? Are they annoyed? Are they confused?

The concern was reported at GODRIVER-2949 as the Go driver lower-cased the socket name. The customer doesn't seem to be blocked.

How likely is it that this problem or use case will occur?

Main path? Edge case?

Every driver that allows the UNIX socket.

If the problem does occur, what are the consequences and how severe are they?

Minor annoyance at a log message? Performance concern? Outage/unavailability? Failover can't complete?

It breaks the expectation of the naming convention on a UNIX-like system. 

Is this issue urgent?

Does this ticket have a required timeline? What is it?

No.

Is this ticket required by a downstream team?

Needed by e.g. Atlas, Shell, Compass?

No.

Is this ticket only for tests?

Does this ticket have any functional impact, or is it just test improvements?

May need functional changes, at least for the Go driver.

Acceptance Criteria

What specific requirements must be met to consider the design phase complete?

Ensure the UNIX socket names are case-sensitive.



 Comments   
Comment by Githook User [ 08/Dec/23 ]

Author:

{'name': 'Qingyang Hu', 'email': '103950869+qingyang-hu@users.noreply.github.com', 'username': 'qingyang-hu'}

Message: DRIVERS-2770 Add connection string tests for uppercase UNIX socket names (#1477)
Branch: master
https://github.com/mongodb/specifications/commit/ec0f26b7b8026580fe8d3934dcca1150f35352fa

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