[SERVER-34195] Support speculative readConcern behavior in transactions Created: 29/Mar/18  Updated: 29/Oct/23  Resolved: 25/Apr/18

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

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

Issue Links:
Documented
is documented by DOCS-11696 Docs for SERVER-34195: Support specul... Closed
Duplicate
is duplicated by SERVER-34532 Spurious WriteConflict error with mul... Closed
Related
is related to SERVER-34038 Make sure that commitTransaction wait... Closed
Backwards Compatibility: Fully Compatible
Sprint: Repl 2018-04-23, Repl 2018-05-07
Participants:

 Description   

Rather than open at an already-majority-committed snapshot, transactions can open at the last-applied snapshot, allowing back-to-back transactions with w:1 write concern and transactions started after w:1 writes to read the prior writes without stalling for replication. In the event that replication fails, the transaction will abort. Users interested in detecting this failure should commit transactions with w:majority write concern.

This optimization reduces the write conflict rate for transactions operating on frequently written documents. In exchange, applications that read data during transaction execution and use that data to make decisions outside the database must wait for their transactions to commit with w:majority write concern in order to be certain that the observed data meets the user-requested read concern level. Put more simply, if you don't know that your transaction successfully committed, you should not expect the data you read to be consistent.



 Comments   
Comment by Githook User [ 24/Apr/18 ]

Author:

{'email': 'matthew.russotto@10gen.com', 'username': 'mtrussotto', 'name': 'Matthew Russotto'}

Message: SERVER-34195 Support speculative readConcern behavior in transactions.
Branch: master
https://github.com/mongodb/mongo/commit/91148023de6e299ff33832e6e960e73697a0f921

Generated at Thu Feb 08 04:35:51 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.