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

use condition instead of hard loop for SSV waiting for critical section to finish

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 2.3.1
    • Affects Version/s: 2.2.2
    • Component/s: Sharding
    • Labels:
      None

      The setShardVersion command makes sure that the mongod isn't in the critical section before running. If it is in the critical section, it blocks until the critical section terminates. In 2.2 and prior we go into a loop, releasing and re-acquiring the global write lock until we are no longer in the critical section. Instead, we should block on a condition variable that we notify on when the critical section has terminated.

            Assignee:
            eliot Eliot Horowitz (Inactive)
            Reporter:
            spencer@mongodb.com Spencer Brody (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: