[SERVER-16194] Lock manager should expose methods that separate enqueuing a lock request and waiting for it to be satisfied Created: 17/Nov/14  Updated: 11/Jul/16  Resolved: 19/Nov/14

Status: Closed
Project: Core Server
Component/s: Concurrency
Affects Version/s: None
Fix Version/s: 2.8.0-rc1

Type: Bug Priority: Major - P3
Reporter: Andy Schwerin Assignee: Kaloian Manassiev
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-15310 kill all operations before attempting... Closed
Operating System: ALL
Participants:

 Description   

To resolve SERVER-15310 in a race-free manner, it is necessary to enqueue a request for the global shared lock, then kill all outstanding operations, then wait for the lock request to be satisfied. This order is needed to prevent a race between killing outstanding operations and acquiring the global shared lock, during which a new operation might sneak in.



 Comments   
Comment by Githook User [ 09/Feb/15 ]

Author:

{u'username': u'GeertBosch', u'name': u'Geert Bosch', u'email': u'geert@mongodb.com'}

Message: SERVER-16194: Make expensive invariant into a dassert
Branch: master
https://github.com/mongodb/mongo/commit/ead3b9df094468ed85d1e93015328cee6ec11850

Comment by Githook User [ 19/Nov/14 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-16194 Add a lockGlobalBegin capability for the global lock

This allows replication step down to queue itself for acquiring the global
lock and then go and kill all owners and wait afterwards.
Branch: master
https://github.com/mongodb/mongo/commit/2304904687c5d29e228d86da95244682dc62caa1

Comment by Githook User [ 18/Nov/14 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-16194 Add a lockBegin/Complete capability to the Locker

This allows lock requests to be posted on the Locker so that it puts the
requestor in line, allowing it to do other things and then wait for the
actual grant to happen.
Branch: master
https://github.com/mongodb/mongo/commit/2bf87c388c8c2d2956cd8e1b81cdd84ca285fa50

Comment by Githook User [ 18/Nov/14 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-16194 Use MMAP V1 locker for the perf testing benchmark
Branch: master
https://github.com/mongodb/mongo/commit/d6427045827b5ae5dc1fea9917cba3c1dcf0d341

Generated at Thu Feb 08 03:40:16 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.