Remove UninterruptibleLockGuards in replication code to allow interruptible lock acquisition

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Major - P3
    • 3.7.4
    • Affects Version/s: 3.7.3
    • Component/s: Replication
    • None
    • Fully Compatible
    • Repl 2018-03-26
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      Since SERVER-32638, global and database locks can be interrupted when an OperationContext is killed and throw a DBException with an Interrupted error code. This includes all AutoGet helpers.

      The following places in the replication code have temporary UninterruptibleLockGuard s to prevent crashing due to inadequate exception handling:

      src/mongo/db/repl/master_slave.cpp:886
      src/mongo/db/repl/master_slave.cpp:1307
      src/mongo/db/repl/replication_coordinator_impl.cpp:1588

            Assignee:
            Spencer Brody (Inactive)
            Reporter:
            Louis Williams
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: