Update $lookup prose test for MONGOCRYPT-793

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Minor - P4
    • None
    • Component/s: Client Side Encryption
    • None
    • Needed
    • Hide

      Summary of necessary driver changes

      • Update client side encryption prose test 8 to expect a different error substring depending on the versions of `libmongocrypt` and `crypt_shared`/`mongocryptd`.
      • Implement newly added client side encryption prose test 10.

      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 Update client side encryption prose test 8 to expect a different error substring depending on the versions of `libmongocrypt` and `crypt_shared`/`mongocryptd`. Implement newly added client side encryption prose test 10. Commits for syncing spec/prose tests (and/or refer to an existing language POC if needed) Spec commit: https://github.com/mongodb/specifications/commit/d41d48b90ef22aedae934dd22f3a21c65b5a13bc Two nearly identical C Driver draft PRs: With `libmongocrypt` 1.16.0: https://github.com/mongodb/mongo-c-driver/pull/2134/files With `libmongocrypt` 1.17.0: https://github.com/mongodb/mongo-c-driver/pull/2133/files Context for other referenced/linked tickets MONGOCRYPT-793
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-6104 Needs Triage
      CXX-3353 Needs Triage
      CSHARP-5746 Needs Triage
      GODRIVER-3669 Needs Triage
      JAVA-5973 Needs Triage
      NODE-7221 Needs Triage
      PYTHON-5589 Backlog
      PHPLIB-1727 Needs Triage
      RUBY-3713 Needs Triage
      RUST-2284 Needs Triage
      $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 */ } #scriptField td.willNotDo { background-color: #FF0000; /* Red color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-6104 Needs Triage CXX-3353 Needs Triage CSHARP-5746 Needs Triage GODRIVER-3669 Needs Triage JAVA-5973 Needs Triage NODE-7221 Needs Triage PYTHON-5589 Backlog PHPLIB-1727 Needs Triage RUBY-3713 Needs Triage RUST-2284 Needs Triage

      Summary

      MONGOCRYPT-793 changes libmongocrypt to no longer error under the scenario:

      • Doing a $lookup operation
      • Using a QE schema and a non-CSFLE JSON Schema.
      • Using mongocryptd/crypt_shared 8.2+ (including SERVER-100260)

      Motivation

      Previously, libmongocrypt returned an explanatory error due to limitations in server < 8.2. SERVER-100260 now permits mixing QE and non-CSFLE JSON schemas.

      Who is the affected end user?

      CSFLE/QE users wanting to do $lookup.

      How does this affect the end user?

      Permits doing $lookup in more cases on server 8.2+.

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

      Likely? The current behavior prevents doing a $lookup on QE against a collection with a non-CSFLE JSON schema configured.

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

      Drivers testing 8.2+ may fail after upgrading to libmongocrypt containing MONGOCRYPT-793Case 8: db.csfle joins db.qe expects a string error returned from libmongocrypt.

      Is this issue urgent?

      Somewhat? Drivers will need to do this before upgrading to libmongocrypt containing MONGOCRYPT-793 to avoid test failures.

      Is this ticket required by a downstream team?

      No?

      Is this ticket only for tests?

      Mostly yes. Drivers only need to upgrade libmongocrypt and update tests.

      Acceptance Criteria

      • Update Case 8: db.csfle joins db.qe to support testing with server 8.2+ and libmongocrypt containing MONGOCRYPT-793.
      • Add a test for the happy-path case: test $lookup mixing a non-CSFLE JSON schema and QE works against server 8.2+.

            Assignee:
            Connor MacDonald
            Reporter:
            Kevin Albertson
            Kevin Albertson Kevin Albertson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: