[SERVER-33143] Hold MODE_IX locks for readConcern level snapshot reads Created: 06/Feb/18  Updated: 29/Oct/23  Resolved: 12/Feb/18

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: 3.7.2

Type: Task Priority: Major - P3
Reporter: James Wahlin Assignee: James Wahlin
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Problem/Incident
Related
related to SERVER-33336 Snapshot reads should not take MODE_I... Closed
related to SERVER-33004 Add two-phase locking for snapshot reads Closed
Backwards Compatibility: Minor Change
Sprint: Storage 2018-02-12
Participants:
Linked BF Score: 0

 Description   

MODE_IX locks are required for reads performed as part of multi-statement transactions. Add MODE_IX locking for all snapshot reads to accommodate.

We will later refine single-statement snapshot reads to use 2-phase MODE_IS locks under SERVER-33004.



 Comments   
Comment by Githook User [ 12/Feb/18 ]

Author:

{'email': 'james@mongodb.com', 'name': 'James Wahlin', 'username': 'jameswahlin'}

Message: SERVER-33143 Hold MODE_IX locks for readConcern level snapshot reads
Branch: master
https://github.com/mongodb/mongo/commit/f506c31a839989dbe2995c371ec726a9ec168f89

Comment by Eric Milkie [ 06/Feb/18 ]

Correct, this is only for interim. SERVER-33004 is the complete solution.

Comment by Kaloian Manassiev [ 06/Feb/18 ]

Just to be clear, this is only a temporary solution until we fix the 2PL, right? milkie and I discussed that in the the design document, but holding IX locks for reads goes against the lock manager design principles so we should avoid it.

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