[SERVER-35970] Use regular Locker during storage engine initialization Created: 05/Jul/18  Updated: 29/Oct/23  Resolved: 19/Sep/20

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

Type: Task Priority: Major - P3
Reporter: Dianna Hohensee (Inactive) Assignee: Gregory Wlodarek
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SERVER-42901 Use LockerImpl for the startup code p... Closed
Related
related to SERVER-26879 Get rid of LockerNoop Closed
is related to SERVER-31247 enhance LockerNoOp Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2020-09-21, Execution Team 2020-10-05
Participants:

 Description   

LockerNoop is used both in production and unit testing. Certain LockerNoop functions return static values to facilitate unit tests. It is dangerous to use LockerNoop for both purposes, in case a naive test framework (LockerNoop) change introduces a production problem.

A new barebones Locker implementation should be created just for production, and LockerNoop updated accordingly.

Should also look at other Noop classes, to determine whether there are other crossovers between testing and production that could become similarly unsafe – like OperationContextNoop.

I'm unsure whether LockerNoop should ultimately be the just for test or just for production version, once we have a new implementation. It's a naming convention choice.



 Comments   
Comment by Githook User [ 19/Sep/20 ]

Author:

{'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com', 'username': 'GWlodarek'}

Message: SERVER-35970 Use regular Locker during storage engine initialization
Branch: master
https://github.com/mongodb/mongo/commit/7125684ebd5c746c6f45dbbe5cdf4d2b43543c2c

Comment by Githook User [ 19/Sep/20 ]

Author:

{'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com', 'username': 'GWlodarek'}

Message: SERVER-35970 Use regular Locker during storage engine initialization
Branch: master
https://github.com/10gen/mongo-enterprise-modules/commit/592b568d988e1503fa8299d060615d2d5f72457f

Comment by Eric Milkie [ 06/Jul/18 ]

Shouldn’t be hard. I should have said “alternative work for this ticket that we will be doing instead”

Comment by Andy Schwerin [ 06/Jul/18 ]

That alternative sounds much better to me. What makes it hard?

Comment by Eric Milkie [ 06/Jul/18 ]

Alternative consideration: move lock manager initialization earlier in startup so that storage engine can use regular Locker during its initialization.

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