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

Yield locks of transactions in secondary application

    XMLWordPrintableJSON

Details

    • Fully Compatible
    • Repl 2018-10-08, Repl 2018-10-22, Repl 2018-11-05, Repl 2018-11-19, Repl 2018-12-03, Repl 2018-12-17
    • 62

    Description

      Secondary application tends to acquire locks conservatively, for example, all commands acquire global write lock. This will conflict with prepared transactions. We can yield locks of transactions on secondary since the oplog should include no conflicting operations due to the concurrency control on primary. 

      An alternative solution is to have secondaries acquire the same locks as the primary, but yielding locks will also fix other issues, e.g. SERVER-38121

      Attachments

        Activity

          People

            siyuan.zhou@mongodb.com Siyuan Zhou
            siyuan.zhou@mongodb.com Siyuan Zhou
            Votes:
            0 Vote for this issue
            Watchers:
            15 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: