[SERVER-64356] Server-side rewrite for find command on mongos Created: 09/Mar/22  Updated: 29/Oct/23  Resolved: 28/Mar/22

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 6.0.0-rc0

Type: Task Priority: Major - P3
Reporter: Davis Haupt (Inactive) Assignee: Davis Haupt (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-64101 Add support for transforming FLE2Encr... Closed
Duplicate
is duplicated by SERVER-63373 Wrap server-side rewrite in a transac... Closed
Backwards Compatibility: Fully Compatible
Sprint: QO 2022-03-21, QO 2022-04-04
Participants:

 Description   

From the design:

Find commands are always parsed on mongos. After the user's find command has been parsed into a CanonicalQuery in ClusterFindCmd::run() and we've determined that there may be FLE2 rewrites to be done, and we are inside of a transaction, rewriteQueryOnEncryptedFields() will be called before ClusterFind::runQuery(). rewriteQueryOnEncryptedFields() will make queries to the encrypted state collections in order to rewrite the MatchExpression query before passing it on to ClusterFind::runQuery() as normal.



 Comments   
Comment by Githook User [ 25/Mar/22 ]

Author:

{'name': 'Davis Haupt', 'email': 'davis.haupt@mongodb.com', 'username': 'davish'}

Message: SERVER-64356 Server-side rewrite for find command on mongos
Branch: master
https://github.com/mongodb/mongo/commit/813a7505005437427abe011a530f003acd2e3b76

Comment by Githook User [ 25/Mar/22 ]

Author:

{'name': 'Davis Haupt', 'email': 'davis.haupt@mongodb.com', 'username': 'davish'}

Message: SERVER-64356 integration tests for FLE2 find command on mongos
Branch: master
https://github.com/10gen/mongo-enterprise-modules/commit/54a7fba10ec3f78ddb220fe50d7c3fc125bb8228

Comment by Davis Haupt (Inactive) [ 24/Mar/22 ]

Ready to merge after SERVER-64101 gets in.

Comment by Davis Haupt (Inactive) [ 14/Mar/22 ]

There's no real way to unit-test this ticket since it's just calling already-written and already-tested components from within a command entrypoint, and so the testing component for this ticket is blocked on shell support for FLEFindPayloads that will enable integration testing.

Generated at Thu Feb 08 06:00:09 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.