Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-11780

Clarify the isolation levels wiredtiger doc with a diagram

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Minor - P4 Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • 3

      After discussing with steve.liu@mongodb.com, we decided to update the following paragraph in our documentation which appears hard to understand and needs clarification/elaboration.

      Snapshot isolation is a strong guarantee, but does not always guarantee behavior equivalent to a single-threaded execution of the transactions. (The slightly stronger model that does is known as serializable isolation.) Given two concurrent transactions T1 and T2 running under snapshot isolation, if T1 reads data items updated by T2 and T2 reads data items updated by T1, but the data they update does not overlap, both may commit. But because each read the data from before they both started, not the other's output, the execution is not equivalent to either running strictly before the other and the resulting state may be one that no serial execution could produce. This behavior is called write skew.

      To improve understanding, we should create a diagram to accompany it.

      Acceptance criteria 

      The paragraph in this ticket should be clear and easily understood by users, with a supporting diagram.

            Assignee:
            steve.liu@mongodb.com Steve Liu
            Reporter:
            siddhartha.mahajan@mongodb.com Sid Mahajan
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: