On 26.09.2012 12:06, Asher Feldman wrote:
On Wednesday, September 26, 2012, Daniel Kinzler wrote:
I see your point. But if we have the choice between lock contention and silent data loss, which is better?
This isn't really a choice - by default, when a statement in mysql hits a lock timeout, it is rolled back but the transaction it's in is not.
Uh. That sounds evil and breaks the A in ACID, no? Why isn't the entire transaction rolled back in such a case?
That can also lead to data loss via partial writes in real world cases if not properly accounted for by the application.
How could we detect such a case?
That doesn't mean that we should give up on consistancy or that we shouldn't try to do better, but not in exchange for more lock contention.
Well, improving consistency and avoiding data loss is going to be hard without the use of locks... how do you propose to do that?
-- daniel