There's a typo, clearly the second transaction is removing C and not D as stated. > The first transaction modifies fields in records A and C, while the second transaction modifies fields in records B and D. > Under Snapshot Isolation both transactions will commit, which means that the doubly linked list will be left in an inconsistent state That's not how the DB we use works[1]. Both transactions will run, but as soo…
The whole point of this scenario is that this never happens. The two writes touch unrelated sets of rows. There’s no point where they both try to modify the same row and a conflict is observed.