Details
-
Task
-
Resolution: Won't Do
-
Major - P3
-
4.0 Core Server
-
None
Description
Clarify the transaction isolation level used with the full_document option in MongoDB 4.0 and later.
This would indicate that the full document lookup is done in a new transaction [context] using local read-committed isolation (+ writeConcern:majority), so it will always return the latest committed (and durable) version of the document. We do explain this today, but IMO it could be more clear in a transactional context for 4.0+ (mostly about language and terminology).
I think that the average user will naturally expect full_document to operate on the same snapshot as the actual update (a single transaction operating in repeatable-read/snapshot isolation for the write and read, as a typical trigger would), so we probably can't be too clear on this. ![]()