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

Drivers should not create the ECC collection in v2 of queryable encryption

    • Needed
    • Hide

      See https://github.com/mongodb/mongo-c-driver/pull/1232 for an example of changes.

      Further changes:
      Friday, April 21, 2023: https://github.com/mongodb/specifications/commit/eb3d882bb8c08d0f25f54709abcd876caeccba7f fixes commandStarted events with encryptionInformation

      Show
      Do not create or drop `eccCollection`. Update `fle2v2` spec tests to https://github.com/mongodb/specifications/commit/aa28f787718eb4306ce7ff8e5a87bd46bb0a2c05 Return error if attempting to create a QE collection with server version < 7.0.0 (maxWireVersion < 21) Remove driver documentation of the ``escCollection`` and ``ecocCollection`` options. See https://github.com/mongodb/mongo-c-driver/pull/1232 for an example of changes. Further changes: Friday, April 21, 2023: https://github.com/mongodb/specifications/commit/eb3d882bb8c08d0f25f54709abcd876caeccba7f fixes commandStarted events with encryptionInformation
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-4563 Fixed 1.24.0
      CXX-2642 Fixed 3.8.0
      CSHARP-4492 Fixed 2.20.0
      GODRIVER-2741 Fixed 1.12.0
      JAVA-4858 Done 4.10.0
      NODE-5004 Fixed 5.5.0
      MOTOR-1089 Fixed 3.2
      PYTHON-3583 Duplicate
      PHPLIB-1071 Fixed 1.16.0
      RUBY-3211 Fixed 2.19.0
      RUST-1581 Fixed 2.6.0
      SWIFT-1696 Won't Do
      $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-4563 Fixed 1.24.0 CXX-2642 Fixed 3.8.0 CSHARP-4492 Fixed 2.20.0 GODRIVER-2741 Fixed 1.12.0 JAVA-4858 Done 4.10.0 NODE-5004 Fixed 5.5.0 MOTOR-1089 Fixed 3.2 PYTHON-3583 Duplicate PHPLIB-1071 Fixed 1.16.0 RUBY-3211 Fixed 2.19.0 RUST-1581 Fixed 2.6.0 SWIFT-1696 Won't Do

      Summary

      Once the protocol changes in version 2 of queryable encryption have been made in the server, the ECC collection is no longer required when creating a new QE-encrypted collection. Thus, the drivers must update their QE helpers to no longer create the ECC state collection when creating an encrypted collection.

      Motivation

      Who is the affected end user?

      Users of the new QE v2 wire protocol.

      How does this affect the end user?

      Since the ECC collection is obsoleted in v2 of QE, this will reduce the number of state collections needed for QE to work.

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

      This occurs every time the user creates a QE-encrypted collection.

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

      If the server is using v2 of the QE protocol, and the driver is still creating ECC collections, then those ECC collections are never going to be used, and will only serve to clutter the database.

      Is this issue urgent?

      This should be implemented once PM-2972 is complete.

      Is this ticket required by a downstream team?

      n/a

      Is this ticket only for tests?

      no

            Assignee:
            kevin.albertson@mongodb.com Kevin Albertson
            Reporter:
            erwin.pe@mongodb.com Erwin Pe
            Kevin Albertson Kevin Albertson
            Esha Bhargava Esha Bhargava
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: