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

Cleanup interaction of write concerns and transactions

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.7.4
    • Affects Version/s: None
    • Component/s: Replication
    • None
    • Fully Compatible
    • Repl 2018-03-26

      Due to SERVER-33223, a global WriteUnitOfWork gets established in unstashTransactionResources() if snapshot read concern is specified. This WUOW will commit after running runCommandImpl(). However, waitForWaitConcern happens inside runCommandImpl() and will hit the invariant inside a WUOW.

      We need to wait for write concern after committing the WUOW for commitTransaction and abortTransaction commands and disable or ignore write concerns for writes in a transaction.

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

              Created:
              Updated:
              Resolved: