[SERVER-69152] Introduce better concurrency control around setting LSID on OperationContext Created: 25/Aug/22  Updated: 29/Oct/23  Resolved: 08/Dec/22

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

Type: Improvement Priority: Major - P3
Reporter: Vesselina Ratcheva (Inactive) Assignee: Amirsaman Memaripour
Resolution: Fixed Votes: 0
Labels: tsan
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Duplicate
is duplicated by SERVER-70365 Fix data race in setting/getting the ... Closed
Backwards Compatibility: Fully Compatible
Sprint: Service Arch 2022-11-14, Service Arch 2022-11-28, Service Arch 2022-12-12
Participants:
Linked BF Score: 11

 Description   

Currently, readers such as killSessionsLocalKillOps will take the client lock, but writers will not (one example of many). Since the value of the LSID is not atomic, this is not a thread-safe access model.



 Comments   
Comment by Githook User [ 08/Dec/22 ]

Author:

{'name': 'Saman Memaripour', 'email': 'amirsaman.memaripour@mongodb.com', 'username': 'samanca'}

Message: SERVER-69152 Always acquire the client lock before setting LSID
Branch: master
https://github.com/mongodb/mongo/commit/34b94039d76a44d0f60c6723fff83d0a867fd948

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