Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-25703

Enable dist lock unlock by sessionId AND _id (aka namespace)

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.3.12
    • Affects Version/s: None
    • Component/s: Sharding
    • Labels:
      None
    • Fully Compatible
    • Sharding 2016-08-29

      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)

            Assignee:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Reporter:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: