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

Remove global X lock for replSetResizeOplog

    XMLWordPrintable

Details

    • Task
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 4.3.1, 4.2.2
    • None
    • Fully Compatible
    • v4.2
    • Execution Team 2019-11-04

    Description

      Remove global X lock acquisition for replSetResizeOplog. This is because acquiring global lock in X mode can be blocked by prepared transactions. The enqueued global X lock can block oplog queries which need the global IS lock. If these oplog queries and the data replication are needed to satisfy the prepared transaction's write concern, then the prepare transaction and replication cannot make progress. Thus a deadlock occurs.

      Alternatively, if removing global X lock is not an option, deprecate the command or make sure it won't be blocked on prepare transactions.

      Attachments

        Issue Links

          Activity

            People

              gregory.wlodarek@mongodb.com Gregory Wlodarek
              lingzhi.deng@mongodb.com Lingzhi Deng
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: