Legacy SCCC dist lock race during first lock acquisition

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Won't Fix
    • Priority: Major - P3
    • None
    • Affects Version/s: 3.2.10
    • Component/s: Sharding
    • None
    • Sharding
    • ALL
    • Sharding 2016-11-21, Sharding 2016-12-12, Sharding 2017-01-02
    • 0
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      Here's the hypothetical scenario:

      1. Thread 1 sees that the lock document does not exist and tries to create it.

      C1: unlocked, owned by nobody
      C2: -
      C3: -

      2. Thread 2 comes in and sees on the first config the the lock is in unlocked state and tries to grab it by sending updates to 3 config servers.

      3. However, since the update is upsert: false, it will only succeed in updating the first one.

      C1: locked, owned by thread 2
      C2: -
      C3: -

      4. Since thread 2 failed to update to all 3 config servers, it will enter the tournament round which will then fail immediately because the lock document does not exist on the other config servers.

            Assignee:
            [DO NOT USE] Backlog - Sharding Team
            Reporter:
            Randolph Tan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: