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

        Issue Links

          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: