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

Need a spec test for the UNIX domain socket case sensitivity

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Unknown Unknown
    • None
    • Component/s: Connection String
    • None
    • Needed
    • Hide

      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

      •  
      Show
      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) https://github.com/mongodb/specifications/commit/ec0f26b7b8026580fe8d3934dcca1150f35352fa Context for other referenced/linked tickets  
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-4783 Backlog
      CXX-2791 Backlog
      CSHARP-4844 Backlog
      GODRIVER-3050 Fixed 2.0.0
      JAVA-5241 Backlog
      NODE-5753 Done
      MOTOR-1220 Duplicate
      PYTHON-4046 Fixed 4.7
      PHPLIB-1310 Won't Do
      RUBY-3354 Backlog
      RUST-1801 Fixed 3.2.0
      $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-4783 Backlog CXX-2791 Backlog CSHARP-4844 Backlog GODRIVER-3050 Fixed 2.0.0 JAVA-5241 Backlog NODE-5753 Done MOTOR-1220 Duplicate PYTHON-4046 Fixed 4.7 PHPLIB-1310 Won't Do RUBY-3354 Backlog RUST-1801 Fixed 3.2.0

      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.

            Assignee:
            qingyang.hu@mongodb.com Qingyang Hu
            Reporter:
            qingyang.hu@mongodb.com Qingyang Hu
            Steve Silvester Steve Silvester
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: