[SERVER-64143] Add retryable write support to FLE 2 CRUD Created: 03/Mar/22  Updated: 29/Oct/23  Resolved: 04/Apr/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: Mark Benvenuto Assignee: Mark Benvenuto
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-64874 [Retryability] Make mongos return ret... Closed
Backwards Compatibility: Fully Compatible
Sprint: Security 2022-04-04, Security 2022-04-18
Participants:

 Description   

Retryable writes work by verifying if a single CRUD operation has already been applied. This is done by checking the statement id in the oplog via TransactionParticipant::checkStatementExecutedNoOplogEntryFetch in write_commands.cpp.

For FLE2, we just need to ensure the statement id from the user transaction is propagated to the first write (typically either ESC or ECC). If a CRUD operation is retried, you can check retriedStmtIds in the reply.



 Comments   
Comment by Githook User [ 02/Apr/22 ]

Author:

{'name': 'Mark Benvenuto', 'email': 'mark.benvenuto@mongodb.com', 'username': 'markbenvenuto'}

Message: SERVER-64143 Add retryable write support to FLE 2 CRUD
Branch: master
https://github.com/mongodb/mongo/commit/aaae37f453b94ecd6cfd4bf4261a36a42389885c

Comment by Githook User [ 02/Apr/22 ]

Author:

{'name': 'Mark Benvenuto', 'email': 'mark.benvenuto@mongodb.com', 'username': 'markbenvenuto'}

Message: SERVER-64143 Add retryable write support to FLE 2 CRUD
Branch: master
https://github.com/10gen/mongo-enterprise-modules/commit/0458bfdc2ff53224bdd445c38a6600c6dc6aff66

Comment by Jack Mulrow [ 29/Mar/22 ]

mark.benvenuto, FYI we found a bug on mongos where `retriedStmtIds` is incorrectly stripped from shard responses. We're fixing it in SERVER-64874, which shouldn't take long, and retriedStmtIds should work correctly for mongod if you want to start there while blocked on mongos. CC cheahuychou.mao

Generated at Thu Feb 08 05:59:37 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.