Write–write conflict

Interleaved transaction conflict

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Write–write conflict" – news · newspapers · books · scholar · JSTOR (February 2024) (Learn how and when to remove this message)

|

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."[1]

Given a schedule S

S = [ T 1 T 2 W ( A ) W ( B ) W ( B ) C o m . W ( A ) C o m . ] {\displaystyle S={\begin{bmatrix}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.

We have a dirty write.[2] 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

[edit]

* Concurrency control
* Read–write conflict
* Write–read conflict

## References

[edit]

1. ^ Stearns, Richard E.; Rosenkrantz, Daniel J. (1981). Distributed database concurrency controls using before-values. 1981 ACM SIGMOD International Conference on Management of Data. New York, USA: Association for Computing Machinery. pp. 74–83\. doi:10.1145/582318.582330. ISBN 0-89791-040-0.
2. ^ "A Critique of ANSI SQL Isolation Levels" (PDF). Retrieved 29 July 2012.