Uploaded image for project: 'Documentation'
  1. Documentation
  2. DOCS-13170

Investigate changes in SERVER-44027: Remove global X lock for renameCollection between DBs

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.3.1, 4.2.2
    • Component/s: manual, Server
    • Labels:
      None

      Description

      Description

      Downstream Change Summary

      The 'renameCollection' command no longer uses a Global Write lock for renaming a collection across dbs.
      The strongest locks it uses now is a shared lock on the source collection and an exclusive lock on the target DB.

      Description of Linked Ticket

      Remove global X lock acquisition for renameCollection. 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 usage or make sure it won't be blocked on prepare transactions.

      Scope of changes

      Impact to Other Docs

      MVP (Work and Date)

      Resources (Scope or Design Docs, Invision, etc.)

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Days since reply:
                  11 weeks, 5 days ago
                  Date of 1st Reply: