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

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

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.3.12
    • Component/s: Sharding
    • Labels:
      None

      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)

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: