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