[DRIVERS-2326] Update FLE 2 collection management Created: 11/May/22  Updated: 23/Aug/22

Status: Implementing
Project: Drivers
Component/s: Client Side Encryption
Fix Version/s: None

Type: Improvement Priority: Unknown
Reporter: Kevin Albertson Assignee: Kevin Albertson
Resolution: Unresolved Votes: 0
Labels: size-small, spec-change
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Gantt End to End
Issue split
split to PHPLIB-851 Queryable encryption support for crea... Closed
split to MOTOR-962 Update FLE 2 collection management Backlog
split to PYTHON-3270 Update FLE 2 collection management Closed
split to RUBY-2995 Update FLE 2 collection management Closed
split to CDRIVER-4389 Update FLE 2 collection management Closed
split to CSHARP-4173 Update FLE 2 collection management Closed
split to CXX-2512 Update FLE 2 collection management Closed
split to GODRIVER-2419 Update Queryable Encryption collectio... Closed
split to JAVA-4609 Update queryable encryption support i... Closed
split to NODE-4246 Update FLE 2 collection management Closed
split to RUST-1324 Update FLE 2 collection management Closed
Epic Link: DRIVERS-1949
Driver Changes: Needed
Server Compat: 6.0
Quarter: FY23Q2
Downstream Changes Summary:

Apply two changes to FLE 2 CreateCollection and Drop behavior added in DRIVERS-2284:

1. Add clusteredIndex option to state collections.
2. Drop the data collection after state collections.

Please see the specification change for the detailed changes.

Please see the Go driver implementation for reference.

Driver Compliance:
Key Status/Resolution FixVersion
CDRIVER-4389 Fixed 1.22.0, 1.22.0-beta0
CXX-2512 Duplicate
CSHARP-4173 Fixed 2.16.0
GODRIVER-2419 Fixed 1.10.0, 1.10.0-beta1
JAVA-4609 Fixed 4.7.0
NODE-4246 Done 4.7.0
MOTOR-962 Backlog
PYTHON-3270 Duplicate
RUBY-2995 Fixed 2.18.0
RUST-1324 Duplicate
SWIFT-1568 Duplicate
PHPLIB-851 Fixed 1.13.0-beta1, 1.13.0

 Description   

Summary

Two requested changes for FLE 2 CreateCollection and Drop behavior added in DRIVERS-2284:

1. Add clusteredIndex option to state collections.
2. Drop the data collection after state collections.

Motivation

1. The FLE 2 secondary collections benefit from being clustered collections on _id. This reduces the write amplification by 50%.
2. The server warns if the data collection is dropped before state collections per SERVER-64914.

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

2. The logs may confuse users.

Is this issue urgent?

IMO Yes. This should be done for 6.0.

Is this ticket only for tests?

No. This is a functional change.



 Comments   
Comment by Githook User [ 18/May/22 ]

Author:

{'name': 'Mark Benvenuto', 'email': 'markbenvenuto@users.noreply.github.com', 'username': 'markbenvenuto'}

Message: DRIVERS-2326 Update FLE 2 Collection Management (#1215)

  • update fle2-CreateCollection for clusteredIndex
  • drop data collection after state collections
  • Note that "namespace not found" errors must be ignored in Drop

Co-authored-by: Kevin Albertson <kevin.albertson@mongodb.com>
Branch: master
https://github.com/mongodb/specifications/commit/a1b9e4460d62e661a976f2f16b62f42cd1a46117

Generated at Thu Feb 08 08:25:17 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.