[SERVER-50678] Implement lock-free version of AutoGetCollectionForRead Created: 01/Sep/20  Updated: 29/Oct/23  Resolved: 08/Oct/20

Status: Closed
Project: Core Server
Component/s: Catalog, Storage
Affects Version/s: None
Fix Version/s: 4.9.0

Type: New Feature Priority: Major - P3
Reporter: Geert Bosch Assignee: Dianna Hohensee (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
is depended on by SERVER-51319 Check DatabaseShardingState::checkDbV... Closed
is depended on by SERVER-51326 Add ViewCatalog to catalog_raii_test.... Closed
Related
is related to SERVER-51320 Investigate removing <dbname>.system.... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v4.4, v4.2
Sprint: Execution Team 2020-09-21, Execution Team 2020-10-05, Execution Team 2020-10-19
Participants:

 Description   

Change the AutoGetCollectionForRead class to no longer take collection MODE_IS locks, when flagged to do so, while still performing the same checks and providing the same read semantics.

The flagging may be done through a special enum constant to be passed to the constructor, or similar approach. The idea is that we can change individual call sites to use lock-free reads or not.

This ticket probably can only be tested through a unit test or dbtest until at least SERVER-50145 is done.



 Comments   
Comment by Jordi Olivares Provencio [ 19/Oct/22 ]

Yes, I only need to backport the skipRSTLLock parameter in GlobalLock for SERVER-60016 to work

Comment by Dianna Hohensee (Inactive) [ 19/Oct/22 ]

jordi.olivares-provencio@mongodb.com just to be clear, I do not recommend backporting all of this: it's part of a project. But it looks like you just need the GlobalLock changes for SERVER-60016, which should be fine. 

Comment by Jordi Olivares Provencio [ 19/Oct/22 ]

Requesting backport due to backports of SERVER-60016

Comment by Githook User [ 08/Oct/20 ]

Author:

{'name': 'Dianna Hohensee', 'email': 'dianna.hohensee@mongodb.com', 'username': 'DiannaHohensee'}

Message: SERVER-50678 Implement lock-free version of AutoGetCollection
Branch: master
https://github.com/mongodb/mongo/commit/ca0150eaf6cad95debae550c28fd50bb016db396

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