[SERVER-25703] Enable dist lock unlock by sessionId AND _id (aka namespace) Created: 19/Aug/16  Updated: 02/Sep/16  Resolved: 23/Aug/16

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 3.3.12

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

Issue Links:
Gantt Dependency
has to be done before SERVER-24866 Balancer should be able to recover it... Closed
Related
related to SERVER-25758 Add unit testing for new variation of... Closed
Backwards Compatibility: Fully Compatible
Sprint: Sharding 2016-08-29
Participants:

 Description   

The balancer needs a consistent distlock id (we're using the clusterId) for recovery because we want the balancer to know if it already owns some locks (which we keep on stepdown for the balancer, rather than releasing).

However, right now in DistLockManager::unlock, we unlock by session ID. This presumes ALL locks have different session IDs. The Balancer needs to defy this presumption. It needs to unlock by session ID and _id (in this case a namespace)



 Comments   
Comment by Githook User [ 23/Aug/16 ]

Author:

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

Message: SERVER-25703 enable dist lock unlock by sessionId AND _id
Branch: master
https://github.com/mongodb/mongo/commit/6b5fd115d38582d8b349a5aad2c29867e69dc758

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