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

Providing readConcern on second transaction statement can corrupt transaction

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Duplicate
    • Affects Version/s: 4.0.3, 4.1.3
    • Fix Version/s: None
    • Component/s: Replication
    • Labels:
      None
    • Operating System:
      ALL
    • Sprint:
      Repl 2018-10-22, Repl 2018-11-05, Repl 2018-11-19

      Description

      We do not allow read concern on transaction statements after the first one. However, we do not check for this until unstashTransactionResources(), which occurs after we wait for read concern. This is problematic, since providing a read concern a subsequent statement does not abort the transaction, but waiting for read concern has side effects, such as setting the read timestamp of the transaction, which is used for the writeConcern wait on commitTransaction. This means you could end up with a corrupted transaction.

      This is not a major issue, since drivers and mongos will not send readConcern on subsequent transaction statements.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              siyuan.zhou Siyuan Zhou
              Reporter:
              tess.avitabile Tess Avitabile
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: