Re: Deadlock due lockwait. How can I tell mysql to wait longer?

2012-05-14 Thread Johan De Meersman
- Original Message - From: Baron Schwartz ba...@xaprb.com Because it can be resolved by rolling back just one of them. Why destroy ALL the work people are trying to accomplish, if you could just throw away some of it? What I fail to understand, Baron, is how there can be a deadlock

RE: Deadlock due lockwait. How can I tell mysql to wait longer?

2012-05-14 Thread David Lerer
. In our case, the deletes/inserts statements were invoked by a stored procedure. David. -Original Message- From: Johan De Meersman [mailto:vegiv...@tuxera.be] Sent: Monday, May 14, 2012 9:28 AM To: Baron Schwartz Cc: MySql Subject: Re: Deadlock due lockwait. How can I tell mysql to wait

Re: Deadlock due lockwait. How can I tell mysql to wait longer?

2012-05-14 Thread Baron Schwartz
Argh. I meant to send this to the list but it doesn't have the reply-to set as I expect... the usual gripe On Mon, May 14, 2012 at 10:46 AM, Baron Schwartz ba...@xaprb.com wrote: Johan, On Mon, May 14, 2012 at 9:27 AM, Johan De Meersman vegiv...@tuxera.be wrote: What I fail to understand,

Re: Deadlock due lockwait. How can I tell mysql to wait longer?

2012-05-14 Thread Claudio Nanni
In my experience if you have a poor designed code that run the same query for hundreds or thousands of times in a very short timespan (like some programmers do in for-loop instead of using a IN for example) you can put mysql on its knees, in some cases it may be the practical implementation of

Re: Deadlock due lockwait. How can I tell mysql to wait longer?

2012-05-14 Thread Andrés Tello
Claudio, would you please extend the example to the use of in? On Mon, May 14, 2012 at 10:08 AM, Claudio Nanni claudio.na...@gmail.comwrote: In my experience if you have a poor designed code that run the same query for hundreds or thousands of times in a very short timespan (like some

Re: Deadlock due lockwait. How can I tell mysql to wait longer?

2012-05-14 Thread Claudio Nanni
Andrés, with pleasure. Imagine a website that is used to search, just for example, hotel rooms for booking. It is possible that a programmer would: 1) issue a select that returns the IDs the rooms matching the criteria 2) do a loop in the code scanning each ID of the resultset and for each ID

RE: Deadlock due lockwait. How can I tell mysql to wait longer?

2012-05-14 Thread Rick James
- From: Claudio Nanni [mailto:claudio.na...@gmail.com] Sent: Monday, May 14, 2012 12:29 PM To: Andrés Tello Cc: Baron Schwartz; MySql Subject: Re: Deadlock due lockwait. How can I tell mysql to wait longer? Andrés, with pleasure. Imagine a website that is used to search, just for example

Deadlock due lockwait. How can I tell mysql to wait longer?

2012-05-11 Thread Andrés Tello
Ok... I have one of those pesky error, in an application not handling deadlocks or lockwaits. The database object can't be modified to support deadlock/lockwatis... I can only change database parameteres Database info: Server version: 5.5.22-log Source distribution from show engine innodb

Re: Deadlock due lockwait. How can I tell mysql to wait longer?

2012-05-11 Thread Baron Schwartz
Deadlocks and lock wait timeouts are independent of one another. A deadlock happens when there is a cycle in the waits-for graph. Your transactions are *active* for 132 and 33 seconds, but the deadlock happens at the instant the conflict is detected, not after waiting. A deadlock cannot be

Re: Deadlock due lockwait. How can I tell mysql to wait longer?

2012-05-11 Thread Andrés Tello
Ok, so I had a deadlock... But then, why a deadlock doesn't rollback all the transaccion? On Fri, May 11, 2012 at 9:55 AM, Baron Schwartz ba...@xaprb.com wrote: Deadlocks and lock wait timeouts are independent of one another. A deadlock happens when there is a cycle in the waits-for graph.

Re: Deadlock due lockwait. How can I tell mysql to wait longer?

2012-05-11 Thread Claudio Nanni
Hello Andrés did you notice that both transactions are trying to update records with same *accountid='3235296' * and that they lock the same index page? *space id 5806 page no 69100 n bits 176 index* Cheers Claudio 2012/5/11 Andrés Tello mr.crip...@gmail.com Ok, so I had a deadlock... But

Re: Deadlock due lockwait. How can I tell mysql to wait longer?

2012-05-11 Thread Andrés Tello
Yup, but a far I understand... I made a select balance for update where accountid=3235296 lock in shared mode; over the same accountid , so the second transacion just would need to wait to the first transaccion to finish... That is why I'm confuse if I have a Deadlock o a wait lock... That

Re: Deadlock due lockwait. How can I tell mysql to wait longer?

2012-05-11 Thread Claudio Nanni
Andrés, may be you can enable the general log, recreate the deadlock, and attach the general log? If I had to reason as InnoDB, what I see is two updates statements that arrive and want to update the same record, I would be confused exactly as InnoDB is because I would not know which update is

Re: Deadlock due lockwait. How can I tell mysql to wait longer?

2012-05-11 Thread Andrés Tello
The genral log is the log that logs everything? humm... dunno if I can.. as always... stuuupid production server with no testing instance available... And it happens very seldom, but force us to do a select (sum) from the movements table instead just a select balance from account... On

Re: Deadlock due lockwait. How can I tell mysql to wait longer?

2012-05-11 Thread Baron Schwartz
Andres, On Fri, May 11, 2012 at 1:48 PM, Andrés Tello mr.crip...@gmail.com wrote: Ok, so I had a deadlock... But then, why a deadlock doesn't rollback all the transaccion? Because it can be resolved by rolling back just one of them. Why destroy ALL the work people are trying to accomplish, if

Re: Deadlock due lockwait. How can I tell mysql to wait longer?

2012-05-11 Thread Andrés Tello
humm, I see.. and if is encapusulated with it's own begin-commit inside a bigger transacion, only that small part get rolled back... If I get this straigth... On Fri, May 11, 2012 at 2:32 PM, Baron Schwartz ba...@xaprb.com wrote: Andres, On Fri, May 11, 2012 at 1:48 PM, Andrés Tello