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

Docs for SERVER-41035: Rollback should kill all user operations before taking RSTL lock in X.

      Description

      Description:

      No documentation summary in engineering ticket

      Engineering Ticket Description:

      Currently, there is a  3 way deadlock. Assume that we are transitioning from secondary to rollback.

      • Thread A (Read thread)  acquires RSTL lock in IX and  blocked by a prepared txn due to prepare conflict.
      • Rollback enqueues RSTL lock in X mode. And blocked behind A.
      • Prepared txn won’t be able commit until we transition out of rollback.

      Alternatively, thread A might have got blocked on prepared transaction due to conflicting DB/ collection lock. For eg. dbhash cmd.

      EDIT: Blocked due to conflicting mongoDB locks  is not possible as secondary prepared txn yield mongoDB locks.

      Scope of changes

      Impact to Other Docs

      MVP (Work and Date)

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

            Assignee:
            kay.kim@mongodb.com Kay Kim (Inactive)
            Reporter:
            kay.kim@mongodb.com Kay Kim (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              4 years, 41 weeks, 4 days ago