• T1 read rows 1, 2, updated row 1.

  • T2 read rows 1, 2, updated row 2.

  • MVCC allows multiple versions of rows, so there is no conflict!

  • S2PL would have prevented both updates due to RW conflicts.