Write–write conflict
{{short description |Interleaved transaction conflict}}
{{Use British English |date=February 2024}}
{{Use dmy dates |date=February 2024}}
{{More citations needed |date=February 2024}}
In computer science, in the field of databases, write–write conflict, also known as overwriting uncommitted data is a computational anomaly associated with interleaved execution of transactions. Specifically, a write–write conflict occurs when "transaction requests to write an entity for which an unclosed transaction has already made a write request."
Given a schedule S
T1 & T2 \\
W(A) & \\
& W(B) \\
W(B) & \\
Com. & \\
& W(A)\\
& Com. \end{bmatrix}
note that there is no read in this schedule. The writes are called blind writes.
{{cite web
| url = http://www.cs.umb.edu/~poneil/iso.pdf
| title = A Critique of ANSI SQL Isolation Levels
| access-date = 29 July 2012 }}
Any attempts to make this schedule serial would give off two different results (either T1's version of A and B is shown, or T2's version of A and B is shown), and would not be the same as the above schedule. This schedule would not be serializable.
Strict 2PL overcomes this inconsistency by locking T1 out from B. Unfortunately, deadlocks are something Strict 2PL does not overcome all the time.
See also
References
{{reflist |refs=
{{cite conference |title=Distributed database concurrency controls using before-values |last1=Stearns |first1=Richard E. |author1-link=Richard E. Stearns |last2=Rosenkrantz |first2=Daniel J. |year=1981 |pages=74–83 |url=https://dl.acm.org/doi/pdf/10.1145/582318.582330 |conference=1981 ACM SIGMOD International Conference on Management of Data |publisher=Association for Computing Machinery |location=New York, USA |doi=10.1145/582318.582330 |isbn=0-89791-040-0 |url-access=subscription }}
}}
{{DEFAULTSORT:Write-write conflict}}