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

Support QE with Client.bulkWrite

      Summary

      Support and test Queryable Encryption (QE) with Client.bulkWrite.

      Motivation

      DRIVERS-716 adds driver API Client.bulkWrite for the bulkWrite command. MONGOCRYPT-588 adds support to libmongocrypt for processing the bulkWrite command.

      https://github.com/mongodb/libmongocrypt/pull/745 describes expected server limitations: CSFLE is not supported. Multiple namespaces are not supported. Due to these limitations, Client.bulkWrite with QE is not yet expected to outperform Collection.bulkWrite.

      Who is the affected end user?

      Users wanting to use the new Client.bulkWrite API with QE.

      How does this affect the end user?

      Without this change, users would be required to continue using Collection.bulkWrite to use QE with bulk writes. This may be an unexpected gap in functionality.

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

      Not sure.

      Is this issue urgent?

      I prefer this be done with DRIVERS-714 for completeness. The work in libmongocrypt is already done in MONGOCRYPT-588. But I expect this can be deferred without significant user impact.

      Is this ticket required by a downstream team?

      No?

      Is this ticket only for tests?

      No. Drivers will also need to upgrade to libmongocrypt 1.10.0, and support the new MONGOCRYPT_CTX_NEED_MONGO_COLLINFO_WITH_DB state.

      Acceptance Criteria

      Test QE works with Client.bulkWrite with the models: insertOne, updateOne, deleteOne, and deleteMany.

            Assignee:
            Unassigned Unassigned
            Reporter:
            kevin.albertson@mongodb.com Kevin Albertson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: