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

Write test for all types of transaction write conflicts

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.0.0, 4.1.1
    • Affects Version/s: None
    • Component/s: Replication
    • Labels:
    • Fully Compatible
    • v4.0
    • Repl 2018-05-07, Repl 2018-05-21, Repl 2018-06-04, Repl 2018-06-18
    • 0
    • 4

      We want to verify that all possible types of write conflicts correctly abort transactions. This can generally be tested by running two transactions in different sessions, and exercising the cases listed below. There may be additional interesting cases that are worth testing.

      Single Document Conflicts

      1. Two transactions update the same document
      2. Two transactions try to delete the same document
      3. Two transactions try to insert identical documents
      4. One transaction tries to delete a document D and the other transactions tries to update document D

      Predicate Based Conflicts

      1. Two transactions execute a predicate based update and the document sets updated by each transaction intersect
      2. Two transactions execute a predicate based delete and the document sets delete by each transaction intersect
      3. One transaction executes a predicate based delete, another transaction executes a predicate based update and the document sets targeted by each transaction intersect.

            william.schultz@mongodb.com William Schultz
            william.schultz@mongodb.com William Schultz
            0 Vote for this issue
            2 Start watching this issue