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

Add runCommand specification and remove readConcern and writeConcern options from unified test runCommand operation

    • Type: Icon: Spec Change Spec Change
    • Resolution: Unresolved
    • Priority: Icon: Unknown Unknown
    • None
    • Component/s: Unified Test Runner
    • Labels:
      None
    • Needed
    • Hide
      • Drivers should make note of RunCommand implementation details which requires drivers do not inspect nor modify the user's command document.
        • If your driver does modify user input, file a follow up ticket tracking changing that as a future improvement.
      • Add salient documentation for:

      A driver MUST not inspect the user's command, this includes checking for the fields a driver MUST attach to the command sent as described below. Depending on a driver's BSON implementation this can result in these fields being overwritten or duplicated, a driver SHOULD document that using these fields has undefined behavior.

      Show
      Drivers must sync the new runCommand unified spec tests: specifications@ab66eaf , specifications@146964a , and specifications@d697477 Drivers should make note of RunCommand implementation details  which requires drivers do not inspect nor modify the user's command document. If your driver does modify user input, file a follow up ticket tracking changing that as a future improvement. Add salient documentation for: A driver MUST not inspect the user's command, this includes checking for the fields a driver MUST attach to the command sent as described below. Depending on a driver's BSON implementation this can result in these fields being overwritten or duplicated, a driver SHOULD document that using these fields has undefined behavior.
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-4616 Backlog
      CXX-2678 Backlog
      CSHARP-4619 Backlog
      GODRIVER-2813 Backlog
      JAVA-4941 Backlog
      NODE-5207 Fixed 5.4.0
      MOTOR-1122 Duplicate
      PYTHON-3673 Backlog
      PHPLIB-1116 Fixed 1.16.0
      RUBY-3242 Fixed 2.18.3
      RUST-1636 Fixed 2.6.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-4616 Backlog CXX-2678 Backlog CSHARP-4619 Backlog GODRIVER-2813 Backlog JAVA-4941 Backlog NODE-5207 Fixed 5.4.0 MOTOR-1122 Duplicate PYTHON-3673 Backlog PHPLIB-1116 Fixed 1.16.0 RUBY-3242 Fixed 2.18.3 RUST-1636 Fixed 2.6.0

      Summary

      Add a runCommand specification based on the runCommand requirements called out by other specs.

      Additionally,

      The unified test format runCommand operation states that readConcern and writeConcern are supported options. However, runCommand implementations are not supposed to apply readConcern nor writeConcern options and users are instead expected to define those settings on the command document themselves.

      We currently do not have unified tests that use these options. Any driver that implemented support for them in their unified runner can remove the logic in favor of potential future tests that put these settings in the command documents themselves.

      Motivation

      Who is the affected end user?

      Driver engineers with a unified test runner.

      How does this affect the end user?

      N/A

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

      Removing the options now can prevent any tests from utilizing them as we add more unified tests to our specifications.

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

      N/A

      Is this issue urgent?

      Not urgent. We need to take care about not adding tests that rely on these options as currently the docs will not inform a spec writer they are intended to be removed and are not supported in most drivers.

      Is this ticket required by a downstream team?

      No.

      Is this ticket only for tests?

      Yes

      Acceptance Criteria

      • Remove the writeConcern and readConcern options from the list of supported options for the runCommand unified operation in the unified test format spec

            Assignee:
            neal.beeken@mongodb.com Neal Beeken
            Reporter:
            neal.beeken@mongodb.com Neal Beeken
            Daria Pardue Daria Pardue
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: